Php Datatables:如何在从另一个表(yajra、laravel)通过关系排序时保留id

Php Datatables:如何在从另一个表(yajra、laravel)通过关系排序时保留id,php,laravel,datatables,Php,Laravel,Datatables,我正在使用来自的数据表,但我遇到了一个问题 我有一个datatable,其中我从其他表中获取某些列,例如,列“customer”是通过另一个表的关系获取的 但是,当我按下“按客户排序”按钮时,ID将更改为关系所属表的ID 这会在我右边的按钮中生成错误,因为这些ID不存在于“meos”表中,只存在于关系中的“locations”表中 如何在保持其ID不变的情况下对其进行排序 我希望始终将我所在的表的ID作为订单标准,该表是属于“meo”类的“meos”表 这是我的问题 public funct

我正在使用来自的数据表,但我遇到了一个问题

我有一个datatable,其中我从其他表中获取某些列,例如,列“customer”是通过另一个表的关系获取的

但是,当我按下“按客户排序”按钮时,ID将更改为关系所属表的ID

这会在我右边的按钮中生成错误,因为这些ID不存在于“meos”表中,只存在于关系中的“locations”表中

如何在保持其ID不变的情况下对其进行排序

我希望始终将我所在的表的ID作为订单标准,该表是属于“meo”类的“meos”表

这是我的问题

public function query()
{
    $languageId = Auth::user()->language_id;
    return Meo::with(['businessType' => function ($query) use ($languageId) {
        $query->with(['businessTypeDescriptions' => function ($subQuery) use ($languageId) {
            $subQuery->where('language_id', '=', $languageId);
        }]);
    }])->with('location');
}
这是我的函数getcolumns

protected function getColumns()
{
    return [
        Column::make('id')->addClass('text-center')->title(__('digestReport.columns.id')),
        Column::make('location.location_name')->addClass('text-center')->title(__('digestReport.columns.customer')),
        Column::make('businessType')->addClass('text-center')->title(__('digestReport.columns.business_type'))->searchable(false),
        Column::computed('action')->exportable(false)->printable(false)->width(160)->addClass('text-center')->title(__('digestReport.columns.actions')),

    ];

}
求你了,我需要帮助


谢谢:)

试试下面的代码。添加
->select()
语句

公共函数查询()
{
$languageId=Auth::user()->language\u id;
返回Meo::with(['businessType'=>function($query)use($languageId){
$query->with(['businessTypeDescriptions'=>函数($subQuery)use($languageId){
$subQuery->where('language_id','=',$languageId);
}]);
}])->使用('location')->选择('meo-table.*');
}

使用meo::class的数据库表替换
meo表
,谢谢您的回答,但是这个“->select”仅选择位置表中的列我使用了带有关系的yajra datatable,如果按关系列排序,大多数情况下都会出错,因为datatable的ID变得不明确。使用select语句为我解决了这个问题。好的,我添加了一个“->select('id');“但是现在我遇到了另一个错误”试图获取非对象的属性“businessTypeDescriptions”,如果我删除它,它会重新工作。您需要添加主
表名。*
示例
User::with('posts')->select('users.')