sql >> Databáze >  >> RDS >> Mysql

Podmíněné parametry tvůrce dotazů

Myslím, že zde potřebujete podmínku "a kde". Nebo kde znamená shodu jednoho nebo druhého nebo obou pravidel. "A kde" by fungovalo pouze v případě, že se obě pravidla shodují.

Takže bych navrhoval zkusit toto:

$users = User::with('skills')
->with('skills')
->with('positions');
if($skills)
{
    $users->whereHas('skills', function($thisquery) use ($skills)
    {
       $thisquery->whereIn('name', $skills);
    });
 }

if($positions)
{
    $users->whereHas('positions', function($thisquery) use ($positions)
    {
         $thisquery->whereIn('name', $positions);
    });
}
$users = $users->get();


  1. Volání uživatelem definované uložené procedury z select statement mysql

  2. Simulace skupin zachycení regulárních výrazů v mysql

  3. Co se děje s řetězcem odpovídajícím celočíselnému poli MySQL?

  4. Odečtěte měsíc a den mysql