2016-08-03 14 views
0

私は2つのテーブルuserとuser_infoを持っています。私はそれらのテーブルに加わり、それらからデータを検索しなければなりません。それは未知の列としてエラーをスローされています。私はDBのクエリを使用してソリューションを持って、それはコントローラでの()メソッドとモデルでの雄弁な関係を使用して検索を行うことは可能ですか?Laravel eloquentは()メソッドを使用して複数のテーブルと検索データを結合します

はそれがそれらに関連するモデルによってモデルをフィルタリングすることはできませんあなたの

+0

:: 'DB ::テーブルを(その USER_INFOデータ英国に設定列を持つすべてのユーザーをロードするために次のことを行うことができます( 'user_info'、 'user_info.id_user'、 '='、 'users.id_user') - > get() 'を使用します。それをチェックして書き戻します。 –

答えて

1

ありがとう)(とを使用して属性 - この方法は、あなたがロードしているオリジナルのものではない、フィルタリング関連のモデルを可能にします。

関連するモデルの属性でフィルタリングするには、whereHas()メソッドを使用する必要があります。

あなたが例えば使用していないのはなぜ
$usersFromUK = User::with('user_info')->whereHas('user_info', function($query) { 
    $query->whereCountry('uk'); 
})->get(); 
関連する問題