【发布时间】:2017-10-20 15:26:55
【问题描述】:
我有 3 张桌子,第 1 个有第 2 个的 FK,第 2 个有第 3 个的 FK:
Table 1: [admin_demandas]
-------------------------
id_demanda| projec_id
-------------------------
Table 2: [admin_projec]
-------------------------
id_projec | sub_id
-------------------------
Table 3: [admin_sub]
-------------------------
id_sub | name
-------------------------
我需要的是从表 3 中获取“名称”,但从表 1 的模型开始。
我正在尝试这样的事情:
$data = AdminDemanda::select([
'id_demanda',
'admin_projec.sub_id AS sub_id',
'admin_sub.name AS name',])
->join('admin_projec', 'admin_demandas.projec_id', '=', 'admin_projec.id_projec')
->join('admin_sub', 'admin_projec.sub_id', '=', 'admin_sub.id_sub')
->get();
return Datatables::of($data)->make(true);
我只使用 1 个 JOIN(2 个表)完成了我的数据表,但不确定如何执行这 2 个 JOIN(3 个表)。我收到了这个错误:
[Err] 1054 - Unknown column 'admin_projec.sub_id' in 'on clause'
我应该在我的查询中修改什么? 我是否需要使用带有 DB::raw() 查询的查询构建器而不是 Eloquent?
【问题讨论】:
标签: laravel eloquent yajra-datatable