working on group chat web app with laravel
i want to perform search for user on particular group with their name
so basically there are three table
users -> id , timeline_id , email , pw
timelines -> id , fname , lname , p_no
page_user(defines user on particular group/page) -> id , page_id , user_id
page -> id , timeline_id, pg_name
when i perform search on one selected group , query giving search from whole user not from selected group
`$page_members= DB::table('timelines')`
`->join('users', 'timelines.id', '=', 'users.timeline_id')`
`->where('timelines.fname','LIKE','%'.$q.'%')` ``
`->orWhere('timelines.lname','LIKE','%'.$q.'%')`
`->orWhere('users.email','LIKE','%'.$q.'%')`
`->orderby('users.id', 'DESC')`
`->get();`
where i need to do change ; considering that $page_id = 1; $q is search value;
Advertisement
Answer
$page_members= DB::table('timelines')
->join('users', 'timelines.id', '=', 'users.timeline_id')
->join('page_user', 'page_user.user_id', '=', 'users.id')
->select('users.*','timelines.*', 'timelines.name', 'timelines.lastname','timelines.username')
->where('timelines.name','LIKE','%'.$q.'%')
->where('page_user.page_id','=',$pgid)
->orWhere('timelines.lastname','LIKE','%'.$q.'%')
->where('page_user.page_id','=',$pgid)
->orWhere('users.primarycontactno','LIKE','%'.$q.'%')
->where('page_user.page_id','=',$pgid)
->orderby('users.id', 'DESC')
->get();
it worked but dont know why ->where('page_user.page_id','=',$pgid) required more time , is that I did something wrong? if i put this on first place only then wont work for timeline.lastname and users.primarycontactno , if anyone has optimized solution do share;)