【发布时间】:2016-06-26 23:43:52
【问题描述】:
我目前有这个代码:
return Datatable::query($query = DB::table('acquisitions')
->where('acquisitions.deleted_at', '=', null)
->where('acquisitions.status', '!=', 2)
->join('contacts', 'acquisitions.contact_id', '=', 'contacts.id')
->join('user', 'acquisitions.user_id', '=', 'user.id')
->select('contacts.*', 'acquisitions.*', 'acquisitions.id as acquisitions_id', 'user.first_name as supervisor_first_name', 'user.last_name as supervisor_last_name', 'user.id as user_id'))
用户表中的数据用于 2 列:acquisitions.supervisor_id 和 acquisitions.user_id。我需要这两个表的first_name 和last_name,但是上面的查询目前只使用acquisitions.user_id 字段中的id。我也尝试使用表别名,这也不起作用,我认为我在这里做错了。
简而言之:我还需要查询根据来自acquisitions.supervisor_id 的ID 为用户选择数据,并将其作为supervisor_first_name 和supervisor_last_name 提供。
【问题讨论】:
-
您是否尝试过在 select 语句中使用 DB::raw()。
-
不,我有点不知道如何将它实现到查询中,如果你能帮助我解决这个问题,我将不胜感激。通常情况下,我只会用 eloquent 来做,不幸的是,由于插件,这在此处是不可能的。谢谢!