Membina Pertanyaan dengan Pelbagai Klausa WHERE Menggunakan Laravel Fasih
Pertimbangkan senario berikut: anda menggunakan Laravel's Eloquent query builder dan perlu mencipta pembina pertanyaan Laravel's Eloquent pertanyaan dengan berbilang klausa WHERE yang menyasarkan keadaan berbeza. Walaupun boleh dilakukan dengan berbilang panggilan kaedah, pendekatan ini boleh menjadi berulang dan sukar digunakan.
Untuk menangani perkara ini, Laravel menyediakan beberapa pilihan alternatif untuk membina pertanyaan sedemikian dengan lebih elegan.
Menggunakan Susunan Syarat di mana
Setakat Laravel 5.3, anda boleh menentukan berbilang syarat dalam tatasusunan yang dihantar ke kaedah where:
$query->where([ ['column_1', '=', 'value_1'], ['column_2', '<>', 'value_2'], // ... ]);
Menggunakan Tatasusunan di mana
Sebelum Laravel 5.3, anda juga boleh menggunakan tatasusunan untuk nyatakan syarat di mana:
$matchThese = ['field' => 'value', 'another_field' => 'another_value', ...]; $results = User::where($matchThese)->get();
Menggunakan orWhere
Sebagai alternatif, anda boleh mengumpulkan syarat menggunakan orWhere:
$results = User::where($matchThese) ->orWhere($orThose) ->get();
Resulting SQL Query
Menggunakan kaedah orWhere akan menjana pertanyaan yang serupa dengan ini:
SELECT * FROM users WHERE (field = value AND another_field = another_value AND ...) OR (yet_another_field = yet_another_value AND ...)
Teknik ini membolehkan anda membina pertanyaan dengan berbilang klausa WHERE dengan cara yang lebih ringkas dan boleh diselenggara.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membina Pertanyaan Laravel Fasih dengan Berbilang Klausa WHERE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!