Home >PHP Framework >Laravel >How to use laravel hasManyThrough to parse?
The following tutorial column from Laravel will introduce you to the usage and parameters of laravel hasManyThrough. I hope it will be helpful to you!
The first case, I call it conductive association table (simple mode)
There are many users in the country, and the users have many posts
countries id - integer name - string users id - integer country_id - integer name - string posts id - integer user_id - integer title - string
How to query all posts in a certain country?
countries is this table, posts is the target table to be output, and users is the intermediate table
return $this->hasManyThrough('App\Post', 'App\User', 'country_id', 'user_id');
The second case is the intermediate table (pure intermediate table)
exam_paper(试卷表)id nameexam_paper_question(试卷与试题中间表)id exam_paper_id question_idexam_question(试题表)id name
We want to query the question through the id of exam_paper
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');
If the current table is marked as A, the target table is marked as B, the intermediate table is marked as C, and the 6 parameters are marked as (B, C, CA, BC, AC, CB)
Recommended learning: "laravel video tutorial"
The above is the detailed content of How to use laravel hasManyThrough to parse?. For more information, please follow other related articles on the PHP Chinese website!