如 docs 中所述当前 hasManyThrough 当你有类似 country > users > posts
的东西时可以使用
结果是 Country::whereName('xx')->posts;
这很好,但如果我有更多的东西呢country > cities > users > posts
甚至country > cities > towns > users > posts
那么你将如何实现类似的东西,以便你可以编写与上面相同的内容Country::whereName('xx')->posts;
或 Town::whereName('xx')->posts;
最佳答案
我创建了一个 HasManyThrough
与无限级别的关系:Repository on GitHub
安装后,您可以像这样使用它:
class Country extends Model {
use \Staudenmeir\EloquentHasManyDeep\HasRelationships;
public function posts() {
return $this->hasManyDeep(Post::class, [City::class, Town::class, User::class]);
}
}
关于laravel - 如何在 Laravel 中将 'hasManyThrough' 与 3 个以上的表一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34947862/