Rumah >rangka kerja php >Laravel >Bagaimana untuk menggunakan laravel hasManyThrough untuk menghuraikan?

Bagaimana untuk menggunakan laravel hasManyThrough untuk menghuraikan?

藏色散人
藏色散人ke hadapan
2022-01-22 09:14:452619semak imbas

Berikut ialah pengenalan kepada penggunaan dan parameter laravel hasManyThrough daripada lajur tutorial Laravel saya harap ia dapat membantu anda!

Kes pertama, saya panggil jadual persatuan konduktif (mod ringkas)

Terdapat ramai pengguna di negara ini, dan pengguna mempunyai banyak siaran

countries
    id - integer
    name - string

users
    id - integer
    country_id - integer
    name - string

posts
    id - integer
    user_id - integer
    title - string

Bagaimana untuk menanyakan semua siaran di negara tertentu?

negara ialah jadual ini, siaran ialah jadual sasaran untuk dikeluarkan, pengguna ialah jadual perantaraan

return $this->hasManyThrough('App\Post', 'App\User', 'country_id', 'user_id');

Kes kedua, terdapat jadual perantaraan (jadual perantaraan tulen )

exam_paper(试卷表)id
nameexam_paper_question(试卷与试题中间表)id
exam_paper_id
question_idexam_question(试题表)id
name

Kita perlu menanyakan soalan

return $this->hasManyThrough('exam_question', 'exam_paper_question', 'exam_paper_id', 'id','id','question_id');
// 参数1 目标表类名
exam_question,
// 参数2 枢纽表类名
exam_paper_question,
// 参数3 枢纽表中和当前表关联的字段名
'exam_paper_question.exam_paper_id',
// 参数4 目标表和枢纽表关联的字段名
'exam_question.id',
// 参数5 当前表中和枢纽表关联的字段名
'exam_paper.id',
// 参数6 枢纽表和目标表关联的字段名
'exam_paper_question.question_id');

dengan id kertas_peperiksaan Jika jadual semasa ditandakan sebagai A, jadual sasaran ditanda sebagai B, dan jadual perantaraan ditandakan sebagai C , 6 parameter direkodkan sebagai (B, C, CA, BC, AC, CB)

Pembelajaran yang disyorkan: "tutorial video laravel "

Atas ialah kandungan terperinci Bagaimana untuk menggunakan laravel hasManyThrough untuk menghuraikan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:learnku.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam