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

pdellepiane's avatar

Concat Conditionals With Query Builder

Hello, I would like to know if there is a way to concat conditionals on query builder. I'm going to show you an example that doesn't work but gives the idea:

$first_name = (isset($request['first_name']))?$request['first_name']:null;
$last_name = (isset($request['last_name']))?$request['last_name']:null;
$email = (isset($request['email']))?$request['email']:null;

$users = DB::table('users')->select('users.id','users.first_name','users.last_name','users.email')

if($first_name)
{
    $users->where('first_name', 'like', '%'.$first_name.'%')
}

if($last_name)
{
    $users->where('last_name', 'like', '%'.$last_name.'%')
}

if($email)
{
    $users->where('email', 'like', '%'.$email.'%')
}

return $users->get();

Thanks in advance!

0 likes
2 replies
Snapey's avatar

it could use some refactoring, but why doesn't it work?

Please or to participate in this conversation.