【问题标题】:Laravel Models connected via Relation Table通过关系表连接的 Laravel 模型
【发布时间】:2019-09-27 10:19:15
【问题描述】:

我正在为 Laravel 及其模型互连而苦苦挣扎。 我有以下内容:

4 个表(ChapterHeadlineQuestionCHQRelation

我已经为所有这些创建了模型,但现在我想知道如何连接它们。最后,我希望能够为给定的章节/标题组合获得所有分配的问题。
我的第一次尝试是建立一个从ChapterCHQRelationhasMany 连接,以接收所有具有相同章节的关系。然后我需要一个从CHQRelationHeadlinehasMany 关系来获得所有头条新闻,然后另一个hasMany 关系到Question 来获得这些。我想这很复杂,但我想不出更简单的方法,需要在正确的方向上稍加推动

【问题讨论】:

    标签: laravel eloquent model


    【解决方案1】:

    表格

    - chapters 
    id
    
    - c_h_q_relations
    id
    chapter_id
    
    - headlines
    id
    c_h_q_relation_id
    
    - questions
    id
    c_h_q_relation_id
    

    模型关系:

    class Chapter extends Model
    {
        public function cHQRelations()
        {
            return $this->hasMany('App\CHQRelation');
        }
    }
    
    class CHQRelation extends Model
    {
        public function headlines()
        {
            return $this->hasMany('App\Headline');
        }
    
        public function questions()
        {
            return $this->hasMany('App\Question');
        }
    
        public function chapter()
        {
            return $this->belongsTo('App\Chapter');
        }
    }
    
    class Headline extends Model
    {
        public function cHQRelation()
        {
            return $this->belongsTo('App\CHQRelation');
        }
    }
    
    class Question extends Model
    {
        public function cHQRelation()
        {
            return $this->belongsTo('App\CHQRelation');
        }
    }
    

    另请参阅:

    Laravel best practices

    Eloquent hasMany relationship

    Eloquent belongsTo relationship

    【讨论】:

      【解决方案2】:

      我认为您应该转到 https://laravel.com/docs/5.8/eloquent-relationships 以获取有关模型关系的更多文档

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-05-15
        • 1970-01-01
        • 2021-07-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-02
        • 1970-01-01
        相关资源
        最近更新 更多