2016-10-19 10 views
0

私は、クエリを使用して要求を実行します。Laravelでwhere where in conditionalを使用するには?

return Baber::where(function ($query) use ($request) { 

    // HERE CONDITION WHERE FOR USER TABLE 

})->with("user")->orderBy('id', 'desc')->get(); 

は、どのように私はそれがwith("user")userテーブルでcomparabledされることを、クエリ内where()を使用することができますか?

私の意味は次のとおりです。

return Baber::where(function ($query) use ($request) { 

     $query->where('user.created_at', $request->date); 

    })->with("user")->orderBy('id', 'desc')->get(); 

答えて

1

それはconstraining eager loadsとして知られています。

Baber::with(['user' => function ($query) use ($request) { 
    $query->where('user.created_at', '=', $request->date); 
}]) 
->orderBy('id', 'desc') 
->get(); 
+0

OPは「で」ほのめかしながら、 ' - (?)の意図は「すべてのbaberを取得する場合> whereHas()'>それは '$要求 - で作成したユーザーを持っている場合にのみ、正しい方法かもしれません日付。制限された熱心な負荷とは、「すべてのベーバーを取得し、関連するユーザーを読み込む」という意味で、ユーザーが作成された場合に限ります。したがって、ここには2つの可能な別個の解決策があるかもしれません。 – JofryHS