您好,登錄后才能下訂單哦!
這篇文章主要介紹了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 hasManyThrough怎么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。