在“一个”列上排序的数据表不起作用

时间:2019-05-31 07:15:48

标签: jquery ajax laravel datatables

我正在尝试为我的应用程序实现服务器端数据处理。

我有两个模型,ChequesChequeApproval具有一对一的关系。我正在从两个表中成功提取数据。

支票模型

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()

0 个答案:

没有答案