Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Membina Pertanyaan Laravel Fasih dengan Berbilang Klausa WHERE?

Bagaimanakah Saya Boleh Membina Pertanyaan Laravel Fasih dengan Berbilang Klausa WHERE?

Susan Sarandon
Susan Sarandonasal
2024-12-20 00:37:10453semak imbas

How Can I Efficiently Build Laravel Eloquent Queries with Multiple WHERE Clauses?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn