Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

mithilesh999's avatar

How to use like query after with clause

If there are two table student and course , Now if i want to use like query in course after relation with student. eg Student::where(id,5)->with("havecourse")->where('course_name','LIKE','%'.'BC','%')->get()

How to do that thanks.

0 likes
3 replies
gmann1982's avatar

Not quite 100% sure but i think you are looking for something like this:

$students= Student::where('id', 5)
    ->whereHas('havecourse', function ($query) {
        $query->where('course_name', 'like', '%BC%');
    })->get()

mithilesh999's avatar

assume $var ="BC" and i have to use it like $students= Student::where('id', 5) ->whereHas('havecourse', function ($query) { $query->where('course_name', 'like', '%'.$var.'%'); })->get()

1 like
mithilesh999's avatar

I got solution after some digging $var = "BC"; $students= Student::where('id', 5) ->whereHas('havecourse', function ($query) use($var) { $query->where('course_name', 'like', '%'.$var.'%'); })->get();

Please or to participate in this conversation.