【问题标题】:Laravel5: 'HasManyThrough' using one model and one intermediate table instead of two modelsLaravel5:“HasManyThrough”使用一个模型和一个中间表而不是两个模型
【发布时间】:2018-09-30 23:37:36
【问题描述】:

是否可以将中间表作为hasManyThrough() 的第二个参数传递?我只想使用表格,而不是模型。它应该是这样的:

return $this->hasManyThrough(
   'App\Post',
   'database.table',  <- table instead of model
   'country_id',
   'user_id',
   'id',
   'id'
);

【问题讨论】:

    标签: php laravel laravel-5 pivot-table has-many-through


    【解决方案1】:

    Eloquent 关系不可能做到这一点。

    实现您想要的最简单的方法是创建一个新模型,除了引用您的表名之外什么都不做:

    class Example extends Model
    {
        protected $table = "database.table"; 
        //or whatever the name of your table is
    }
    

    你可以这样做:

    return $this->hasManyThrough(
       'App\Post',
       'App\Example', 
       'country_id',
       'example_id',
       'id',
       'id'
    );
    

    【讨论】:

    • 忘了补充,还要定义Example和Post的关系
    • 是的,我知道这种方法,但想知道没有额外模型的解决方案。无论如何谢谢!
    猜你喜欢
    • 2015-02-12
    • 1970-01-01
    • 1970-01-01
    • 2017-05-09
    • 1970-01-01
    • 2021-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多