4
次のクエリを使用して、特定のユーザー/学校に属する学生を検索しようとしました。私はユーザーと学生の間に1対多の関係を作りました。すべては大丈夫ですが、学生を検索しようとすると、他のユーザーに属する学生のリストも表示されます。laravelのwhere句のみを使用して関連レコードをクエリする方法はありますか?
public function searchStudent(Request $request)
{
$q = $request->q;
$grades = Auth::user()->grades;
$searchPupils = Student::where('user_id','=',Auth::user()->id)->where('name','LIKE','%'.$q.'%')->orWhere('email','LIKE','%'.$q.'%')->get();
if(count($searchPupils) > 0)
{
return view('add-class', compact('grades'))->withDetails($searchPupils)->withQuery($q);
}
else
{
return view ('add-class', compact('grades'))->withMessage('No Details found. Try to search again !');
}
}
私も
$searchPupils = Auth::user()->students()->where('name','LIKE','%'.$q.'%')->orWhere('email','LIKE','%'.$q.'%')->get();
をやっそれでも、それは全体の学生テーブルを検索してみました。どのようにそれを行う必要がありますか?
感謝。 :) – Azima
@アジマ歓迎です。 –
$ q変数をクロージャに渡す必要もあるようです。 (function)($ query)use($ q){ $ query- > '%'); - > orWhere( '電子メール'、 'LIKE'、 '%'); $ q。 '%'); })ここで、( '名前'、 'LIKE'、 '%' - > get(); – Azima