Rumah > rangka kerja php > Laravel > Cara menggunakan kaedah dengan dalam laravel

Cara menggunakan kaedah dengan dalam laravel

WBOY
Lepaskan: 2022-01-13 16:48:57
asal
8321 orang telah melayarinya

Dalam laravel, kaedah with() digunakan sebagai "pemuatan lapar", yang bermaksud bahawa laravel akan pramuat perhubungan yang tepat dengan model utama Menggunakan kaedah ini boleh mengurangkan masalah "1 N" Masalah pertanyaan. hanya pertanyaan "1 1" boleh menyelesaikan masalah.

Cara menggunakan kaedah dengan dalam laravel

Persekitaran pengendalian artikel ini: sistem Windows 10, Laravel versi 6, komputer Dell G3.

Cara menggunakan kaedah dengan dalam laravel

dengan()

dengan() kaedah Digunakan sebagai "pemuatan lapar", ini bermakna laravel akan pramuat perhubungan yang tepat dengan model utama. Ini sangat membantu jika anda ingin menambah semua perhubungan dalam model. Oleh kerana "pemuatan lapar" mengurangkan masalah pertanyaan 1N, hanya memerlukan 11 pertanyaan untuk menyelesaikan masalah, yang meningkatkan kelajuan pertanyaan dengan ketara.

Contohnya:

user > hasMany > post
$users = User::with('posts')->get();
foreach($users as $user){
   $users->posts; // posts已经被加载了,没有增加DB查询
}
Salin selepas log masuk

Pelanjutan:

has()

has() kaedah adalah berdasarkan pada perkaitan Perhubungan digunakan untuk menapis hasil pertanyaan model, jadi fungsinya sangat serupa dengan keadaan di mana. Jika anda hanya menggunakan has('post'), ini bermakna anda hanya mahu mendapatkan model ini, yang mempunyai sekurang-kurangnya satu perkaitan jawatan.

Contohnya:

user > hasMany > post
//User至少有一条post的关联关系
$users = User::has('post')->get();
Salin selepas log masuk

Anda juga boleh menggunakan "." untuk membina pernyataan bersarang.

Contohnya:

user > hasMany > post
$user = User::has('post.votes', '>', '3')->get();
Salin selepas log masuk

Cadangan berkaitan: Lima tutorial video Laravel terbaharu

Atas ialah kandungan terperinci Cara menggunakan kaedah dengan 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