Rumah > rangka kerja php > Laravel > Perkongsian kemahiran aplikasi lanjutan kaedah where dalam Laravel

Perkongsian kemahiran aplikasi lanjutan kaedah where dalam Laravel

WBOY
Lepaskan: 2024-03-09 14:09:04
asal
961 orang telah melayarinya

Perkongsian kemahiran aplikasi lanjutan kaedah where dalam Laravel

Berkongsi kemahiran aplikasi lanjutan di mana kaedah dalam Laravel

Laravel ialah rangka kerja pembangunan PHP yang popular yang menyediakan banyak kaedah mudah untuk mengendalikan pangkalan data. Antaranya, kaedah where merupakan salah satu kaedah penting untuk menapis rekod pangkalan data. Dalam pembangunan sebenar, kami sering menggunakan kaedah where untuk menanyakan data yang memenuhi syarat. Selain penggunaan asas, kaedah where juga mempunyai beberapa kemahiran aplikasi lanjutan Di sini kami akan berkongsi beberapa contoh kod khusus dengan anda.

1. Gunakan syarat dalam bentuk tatasusunan

Dalam Laravel, kita boleh menggunakan syarat dalam bentuk tatasusunan untuk melakukan pertanyaan kompleks. Ini boleh menyatakan logik pertanyaan dengan lebih jelas, menjadikan kod lebih mudah dibaca dan diselenggara.

$users = DB::table('users')
            ->where([
                ['status', '=', 'active'],
                ['created_at', '>=', now()->subDays(7)]
            ])
            ->get();
Salin selepas log masuk

Dalam contoh kod di atas, kami menggunakan bentuk tatasusunan syarat untuk menapis data pengguna yang statusnya aktif dan yang masa pembuatannya adalah dalam tempoh 7 hari yang lalu. active,且创建时间在过去 7 天内的用户数据。

2. 模糊搜索

在实际项目中,我们经常需要进行模糊搜索来查找符合条件的数据。Laravel 的 where 方法提供了 like 条件来实现模糊搜索。

$keyword = 'John';
$users = DB::table('users')
            ->where('name', 'like', '%'.$keyword.'%')
            ->get();
Salin selepas log masuk

上面的代码示例中,我们使用了 like 条件来查找名字中包含 "John" 的用户数据。

3. 多条件查询

除了单个条件外,我们还可以结合 and 或者 or 条件来进行多条件查询。

$users = DB::table('users')
            ->where('status', '=', 'active')
            ->where(function ($query) {
                $query->where('age', '>=', 18)
                      ->orWhere('gender', 'female');
            })
            ->get();
Salin selepas log masuk

上面的代码示例中,我们结合了 and 和 or 条件,查询状态为 active,且年龄大于等于 18 岁或者性别为女性的用户数据。

4. 使用闭包函数

在实际开发中,有时候需要更复杂的查询逻辑,这时可以通过使用闭包函数来实现。

$users = DB::table('users')
            ->where('status', 'active')
            ->where(function ($query) {
                $query->where('age', '>', 30)
                      ->orWhere(function ($query) {
                          $query->where('gender', 'male')
                                ->whereNotNull('email');
                      });
            })
            ->get();
Salin selepas log masuk

上面的代码示例中,我们使用了闭包函数来实现更复杂的查询逻辑,查询状态为 active

2. Carian kabur

Dalam projek sebenar, kita selalunya perlu melakukan carian kabur untuk mencari data yang memenuhi syarat. Kaedah di mana Laravel menyediakan syarat seperti untuk melaksanakan carian kabur. 🎜rrreee🎜Dalam contoh kod di atas, kami menggunakan syarat serupa untuk mencari data pengguna yang namanya mengandungi "John". 🎜🎜3. Pertanyaan berbilang syarat🎜🎜Selain syarat tunggal, kami juga boleh menggabungkan dan atau atau syarat untuk melakukan pertanyaan berbilang syarat. 🎜rrreee🎜Dalam contoh kod di atas, kami menggabungkan dan dan atau syarat untuk menanyakan data pengguna yang statusnya aktif dan yang umurnya lebih besar daripada atau bersamaan dengan 18 tahun atau yang jantinanya perempuan . 🎜🎜4. Gunakan fungsi penutupan🎜🎜Dalam pembangunan sebenar, kadangkala logik pertanyaan yang lebih kompleks diperlukan, yang boleh dicapai dengan menggunakan fungsi penutupan. 🎜rrreee🎜Dalam contoh kod di atas, kami menggunakan fungsi penutupan untuk melaksanakan logik pertanyaan yang lebih kompleks Status pertanyaan adalah aktif, umur lebih daripada 30 tahun, atau jantina adalah lelaki dan lelaki. alamat e-mel tidak kosong. 🎜🎜Melalui contoh kod di atas, saya harap ia dapat membantu anda lebih memahami dan menggunakan kemahiran aplikasi lanjutan kaedah where dalam Laravel. Dalam pembangunan sebenar, teknik ini boleh digunakan secara fleksibel mengikut keperluan khusus untuk melaksanakan pertanyaan dan operasi pangkalan data dengan lebih cekap. 🎜

Atas ialah kandungan terperinci Perkongsian kemahiran aplikasi lanjutan kaedah where dalam Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan