Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Parameter bersyarat pembuat kueri

Saya pikir Anda membutuhkan kondisi "dan di mana" di sini. Atau di mana berarti cocok dengan salah satu atau yang lain atau kedua aturan. "Dan di mana" hanya akan berfungsi jika kedua aturan cocok.

Jadi saya sarankan mencoba ini:

$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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL #1140 - Pencampuran kolom GROUP

  2. Subquery lambat di MySQL

  3. Memvalidasi Nama Pengguna Dan Kata Sandi dari MySQL

  4. Koneksi terkadang terputus dengan Amazon RDS MySQL &Play Framework 1.2.5 (pengaturan default c3p0)

  5. Perbarui dua baris berbeda dalam satu baris SQL