我有三張表。 work_orders
,customers
和aircraft
。在work_orders
表中有兩個字段customer_id
和aircraft_id
。我試圖通過使用join
檢索customers
和aircraft
數據。我遇到了一系列的錯誤,但它們似乎都指向相同的方向,那就是無法找到表。未找到列:1054未知列 - Laravel 5.1加入
這是我WorkOrderController index
:
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
陳述。
您可以打開控制檯,並運行該SQL查詢,如果你得到錯誤檢查你在現場,你的表和數據庫,以後你可以嘗試得到正確的查詢。對不起我的英語不好。 – Naumov
只是好奇:不應該'飛機'假設是'飛機'?因爲,Laravel使用蛇案例約定來命名錶格。除非你明確指定表名爲'aircraft' .. –
我已經指定它是飛機,因爲那是飛機的複數。我一直在從該網站上的其他地方訪問該表。 –