所以我想要做的是產生一個試算表報告。我必須得到兩個日期之間的所有賬戶圖表(coas)以及它的借方和貸方金額的總和。我在數據庫中的這些表,這些都是他們的屬性如何使用Laravel 5.2返回帶日期範圍的數據?
- 客戶:ID,名稱
- 輔酶A:ID,名稱
- 雜誌:ID,描述,日期
- Journal_details:ID,journal_id, coa_id,借記卡,信用卡
我已經把它們的關係放在模型中。
Client.php
public function coas()
{
return $this->belongsToMany('App\Coa');
}
public function journal(){
return $this->hasMany('App\Journal');
}
Coa.php
public function clients(){
return $this->belongsToMany('App\Client');
}
public function journals_details(){
return $this->hasMany('App\JournalDetails');
}
Journal.php
public function journal_details(){
return $this->hasMany('App\JournalDetails');
}
public function client(){
return $this->belongsTo('App\Client');
}
JournalDetails.php
public function journal(){
return $this->belongsTo('App\Journal');
}
public function coa()
{
return $this->belongsTo('App\Coa');
}
我試圖讓所有的CoA與特定客戶的雜誌細節,我已經做了。 $ trials = $ client-> coas() - > with('journals_details') - > get();
但是,我使用日期範圍來僅選擇屬於輸入的特定日期的日期範圍。這是我的控制器。我試過這個,但它不起作用。
public function trial_balance_generate(Request $request)
{
$client = Client::find($request->client_id);
$start = \Carbon\Carbon::parse($request->from)->startOfDay();
$end = \Carbon\Carbon::parse($request->to)->endOfDay();
$data= $client->coas()->with('journals_details')->whereBetween('date',[$start,$end])->get();
return response()->json($data);
}
我知道如何獲取數據有問題。我只是不知道如何通過包含日期的日誌標題獲得所有的coas和它的詳細信息。
這是我的JavaScript獲取日期範圍。
$('.date').on('change', function() {
var from = $('#from').val();
var to = $('#to').val();
var client_id = $('.clientHidden').val();
$.ajax({
type : 'get',
url : '/user/'+client_id+'/reports/trialbalance/generate/',
dataType: 'json',
data : {
'from':from,
'to':to,
client_id':client_id
},
success:function(data){
$('td').remove();
for(var ctr = 0; ctr < data.length; ctr++)
{
$('#reportTbody').append()
'<tr><td>'+ data[ctr].name +'</td><td>{{$trial->journals_details->sum("debit")}}</td><td>{{$trial->journals_details->sum("credit")}}</td></tr>'+
}
}
});
});
這裏是什麼,我想實現https://imgur.com/a/IZvio返回一切,所以沒有日期還沒有照片。
您是否需要'coa'表中'client_id'列'Coa-> belongsToMany'才能正常工作? – Matey
還有另一個名爲'client_coa'的表,它由client_id和coa_id組成。 – ninuhh