我想實現以下連接查詢實現與laravel加入5
SELECT * from users as u
LEFT JOIN `table1` as ou
ON ou.user_id = u.id
LEFT JOIN table2 as o
ON o.id = ou.orid
LEFT JOIN table3 as p
ON o.pra_id = p.id;
我laravel模型,所以我創建了一個名爲ALLDATA()函數在我的用戶模型下面的代碼
public function alldata()
{
return $this
->leftjoin('table1','users.id','=','table1.user_id')
->leftjoin('table2','table1.orid','=','table2.id')
->leftjoin('table3','table2.pra_id','=','table3.id');
}
現在,當我嘗試訪問數據$ gd = User :: find(1) - > getall()它返回所有表 的結果,但是當我嘗試訪問$ gd = User :: all() - > alldata()它給錯誤的方法未找到 我該如何解決此問題 謝謝
如果你的'alldata'功能是在例如你給'getall'? 我認爲它應該是,但任何方式給https://laravel.com/docs/5.2/eloquent-relationships看看你更好地建立在模型上的關係,而不是手動加載凌亂的加入。 –