2016-08-03 47 views
0

我有兩個表用戶和user_info。我需要加入這些表格,並且必須從中搜索數據。它是作爲未知的列拋出錯誤。我有使用數據庫查詢的解決方案,是否有可能使用控制器中的()方法和模型中的雄辯關係進行搜索。Laravel雄辯地加入多個表並使用()方法搜索數據

謝謝

+0

你爲什麼不使用例如:'DB ::表( '用戶') - >連接( 'USER_INFO', 'user_info.id_user', '=', 'users.id_user') - >得到()'。檢查出來並回寫。 –

回答

1

這是不可能通過自己的相關模型篩選模型使用的屬性與() - 這種方法只允許過濾相關的模型,不是你加載原有的。

爲了按照相關模型的屬性進行過濾,您應該使用whereHas()方法(例如,爲了有國家列集所有用戶加載到英國在他們USER_INFO數據,你可以做到以下幾點:

$usersFromUK = User::with('user_info')->whereHas('user_info', function($query) { 
    $query->whereCountry('uk'); 
})->get();