我正在尝试为我的应用程序实现服务器端数据处理。
我有两个模型,Cheques
和ChequeApproval
具有一对一的关系。我正在从两个表中成功提取数据。
支票模型
public function chequeApproval()
{
return $this->hasOne('App\ChequeApproval');
}
支票批准模型
public function cheque()
{
return $this->belongsTo('App\Cheque');
}
控制器
$cheques = Cheque::with('chequeApproval')->select('cheques.*');
return Datatables::eloquent($cheques)
->addColumn('bca_approver', function (Cheque $cheque) {
return $cheque->chequeApproval ? str_limit($cheque->chequeApproval->bca_approver, 30, '...') : '';
})->make(true);
jQuery
<script type="text/javascript">
$('#datatable_created').DataTable( {
processing: true,
serverSide: true,
ajax: '{!! route('datatables.data') !!}',
ordering: true,
columns: [
{ data: 'id', name: 'cheques.id'},
{ data: 'national_id', name: 'cheques.national_id'},
{ data: 'customer_id', name: 'cheques.customer_id'},
{ data: 'customer_name', name: 'cheques.customer_name'},
{ data: 'phone_number', name: 'cheques.phone_number'},
{ data: 'bca_approver', name: 'chequeApproval.bca_approver'}
]
});
</script>
但是,我面临着一个挑战,即如果我对上的数据进行一列排序,我将得到错误;
调用未定义的方法Illuminate \ Database \ Eloquent \ Relations \ HasOne :: getForeignKey()