Rumah >rangka kerja php >Laravel >Apakah yang digunakan dalam laravel?

Apakah yang digunakan dalam laravel?

WBOY
WBOYasal
2022-06-07 16:06:064849semak imbas

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()".

Apakah yang digunakan dalam laravel?

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

di mana

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查询
}
Contohnya:

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();
pengguna > mempunyaiRamai > >

Atas ialah kandungan terperinci Apakah yang digunakan dalam laravel?. 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