无法弄清楚简单的任务:加入 1 个表并添加列。这里没有关于服务实现的有用文档:DataTables as a Service Implementation
public function query()
{
$query = Technika::query()
->join('manufacturers','technika.manufacturer_id','=','manufacturers.id')
->select($this->getColumns());
return $this->applyScopes($query);
}
protected function getColumns()
{
return [
'manufacturers.id',
];
}
以上会触发奇怪的错误
Requested unknown parameter 'manufacturers.id' for row 0, column 0
尝试了许多变体,例如:
return [
'id',
];
以上会触发Column 'id' in field list is ambiguous
另一个是:
return [
[
'name' => 'id',
'data' => 'id'
]
];
这将导致:strtolower() expects parameter 1 to be string, array given
等等等等。也许有人可以给出使用服务实现的基本连接示例?
系统详情
- 操作系统 OSX
- PHP 版本 7.2
- Laravel 5.5 版
- Laravel 数据表 8.0 版
更新#1
这个接缝最接近工作解决方案:
public function query()
{
$query = Technika::query()
->join('manufacturers','technika.manufacturer_id','=','manufacturers.id')
->select( $this->getColumns() );
return $this->applyScopes($query);
}
和
protected function getColumns()
{
return [
'technika.id',
'manufacturers.title'
];
}
但我越来越Requested unknown parameter 'technika.id' for row 0, column 0.
但是 XHR 响应接缝没问题,我可以看到来自后端的正确数据。