首頁 > php框架 > Laravel > 解析laravel hasManyThrough如何用?

解析laravel hasManyThrough如何用?

藏色散人
發布: 2022-01-26 11:35:13
轉載
2609 人瀏覽過

下面由Laravel教學專欄跟大家介紹laravel hasManyThrough用法及參數,希望對大家有幫助!

第一種情況,我稱之為傳導關聯表(簡單模式)

國家有很多用戶,用戶有很多貼文

countries
    id - integer
    name - string

users
    id - integer
    country_id - integer
    name - string

posts
    id - integer
    user_id - integer
    title - string
登入後複製

查詢某個國家的所有帖子,怎麼實現?

countries為本表,posts為要輸出的目標表,users為中間表

return $this->hasManyThrough('App\Post', 'App\User', 'country_id', 'user_id');
登入後複製

第二種情況,有中間表情況(純中間表)

exam_paper(试卷表)id
nameexam_paper_question(试卷与试题中间表)id
exam_paper_id
question_idexam_question(试题表)id
name
登入後複製

我們要透過exam_paper的id查詢question

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');
登入後複製

如果把目前表記作A,目標表記作B,中間表記作C,6個參數記作(B, C,CA,BC,AC,CB)

推薦學習:《laravel影片教學

以上是解析laravel hasManyThrough如何用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:learnku.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板