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.
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查询 }
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();
Anda juga boleh menggunakan "." untuk membina pernyataan bersarang.
Contohnya:
user > hasMany > post $user = User::has('post.votes', '>', '3')->get();
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!