所以我想要做的是产生一个试算表报告。我必须得到两个日期之间的所有账户图表(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