Laravel5:' HasManyThrough'使用一个模型和一个中间表而不是两个模型

时间:2018-04-20 09:31:03

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

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

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

1 个答案:

答案 0 :(得分: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'
);