我有三张 table 。 工作订单
、客户
和飞机
。在 work_orders
表中,有两个字段 customer_id
和 aircraft_id
。我正在尝试通过使用 join
检索 customers
和 aircraft
数据。我收到一系列错误,但它们似乎都指向同一个方向,那就是找不到表。
这是我的WorkOrderController索引
:
public function index(WorkOrder $workorder)
{
$workorder_array = $workorder
->join('work_orders as work', 'work.aircraft_id', '=', 'aircraft.id')
->join('work_orders as workorder', 'workorder.customer_id', '=', 'customers.id')
->select('work_orders.opened_date', 'customers.mobile', 'aircraft.year')
->get();
return view('work-orders.index', compact('workorder_array'));
}
这样我得到以下错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'aircraft.id' in 'on clause' (SQL: select
work_orders
.opened_date
fromwork_orders
inner joinwork_orders
aswork
onaircraft
.id
=work
.aircraft_id
inner joinwork_orders
asworkorder
onworkorder
.customer_id
=customers
.id
)
我尝试过将 work.aircraft_id
与 aircraft.id
切换,因为 Laravel 文档按该顺序显示它,但这也没有任何区别。消除此错误的唯一方法是删除我的 join
语句。
最佳答案
我在 join
语句中使用了错误的表。这是我应该拥有的:
public function index(WorkOrder $workorder)
{
$workorder_array = $workorder
->join('aircraft', 'work_orders.aircraft_id', '=', 'aircraft.id')
->join('customers', 'work_orders.customer_id', '=', 'customers.id')
->select('*')
->get();
return view('work-orders.index', compact('workorder_array'));
}
关于php - 未找到列 : 1054 Unknown column - Laravel 5. 1 加入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34955951/