Есть обычный запрос к бд с помощью query builder laravel
Но также при получении выборки может использоваться условие
$user = USER::query
->where(active, '=', 1)
->join('roles', 'roles.user_id', '=', 'user_id')
->where(function ($query) {
if($roleId) {
$query->where('role', '=', $roleId)
}
})
->get()
Можно ли как-то красиво избавиться от join если $roleId = null
Пока в голову лезет только такое решение
$user = USER::query
->where(active, '=', 1)
->join('roles', function($join) {
if($roleId) {
$join->on('roles.user_id', '=', user.id)
}
})
->where(function ($query) {
if($roleId) {
$query->where('role', '=', $roleId)
}
})
->get()