Dalam laravel, wherehas menapis hasil pertanyaan model berdasarkan perhubungan perkaitan dan membolehkan anda menambah syarat penapis untuk model ini Ia sering digunakan untuk menapis data daripada jadual hamba dalam jadual induk. Sintaksnya ialah "Pengguna::whereHas ('dari jadual', function($...){$...->where(keadaan penapis);})->get()".
Persekitaran pengendalian artikel ini: sistem Windows 10, Laravel versi 6, komputer Dell G3.
dengan()
dengan() kaedah dalam laravel digunakan untuk "pemuatan dahaga", yang bermaksud bahawa laravel Perhubungan yang tepat akan dimuatkan 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:
pengguna >mempunyai banyak > ialah Menapis hasil pertanyaan model berdasarkan perhubungan perkaitan, 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.
$users = User::with('posts')->get(); foreach($users as $user){ $users->posts; // posts已经被加载了,没有增加DB查询 }
pengguna > mempunyaiMany >
Contohnya: pengguna >mempunyaiRamai > ( ) kaedah pada asasnya sama dengan kaedah has(), tetapi ia membolehkan anda menambah sendiri keadaan penapisan untuk model ini.Contohnya:
//User至少有一条post的关联关系 $users = User::has('post')->get();
Atas ialah kandungan terperinci Apakah yang digunakan dalam laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!