Laravel文档似乎表明hasManyThrough
声明只能用于两个关系“深”的关系。更复杂的关系呢?例如,User
有许多个,其中每个都有很多个,其中每个都有很多个Card
。使用hasManyThrough
声明获取属于User
的所有Deck
很简单,但是属于User
的所有Card
是什么?申请hasManyThrough深入关系
4
A
回答
1
如评论中所述,hasManyThrough
不支持此特定级别。一,你可以做的事情就是返回查询生成器实例会向相反的方向:
//App\User;
public function cards()
{
Card::whereHas('decks', function($q){
return $q->whereHas('subjects', function($q){
return $q->where('user_id', $this->id);
});
});
}
我们从Cards -> Decks -> Subjects
去。 subjects
应该有一个user_id
列,然后我们可以锁定。
当从用户模式调用时,它会thussly完成:
$user->cards()->get();
0
嗯,其实最好的解决方案将会把多余的列卡表 - user_ID的,如果你有这么频繁的需求得到所有用户卡。
Laravel为2深度关系提供了多对多关系,因为这是非常广泛使用的关系。 对于Laravel不支持的关系,您需要自己找出最佳表格关系。
任何方式,为了您的目的,您可以使用以下代码捕捉为您的当前关系模型抓取用户的所有卡片。
假设
- 用户有
hasManyThough
关系到甲板,
因此项目模型将有以下代码:
public function decks()
{
return $this->hasManyThrough('Deck', 'Subject');
}
- 甲板^ h为
hasMany
关系卡
代码
$deck_with_cards = $user->decks()->with("cards")->get();
$cards = [];
foreach($deck_with_cards AS $deck) {
foreach ($deck->cards as $c) {
$cards[] = $c->toArray();
}
}
现在$cards
先后为$user
所有卡。
相关问题
- 1. 二阶hasManyThrough关系
- 2. Laravel 5.2 hasManyThrough关系问题
- 3. 如何界定关系hasManyThrough
- 4. Laravel关系:hasManyThrough,belongsTo,belongsToMany
- 5. 在关系查询中使用hasManyThrough
- 6. 流明/ laravel雄辩hasManyThrough 3款关系
- 7. hasManyThrough关系的雄辩laravel 4
- 8. Loopback“hasManyThrough”关系。在哪里添加?
- 9. 关于:申请:didFinishLaunchingWithOptions:
- 10. 是否有可能具有比两个层次更深的HasManyThrough关系?
- 11. Laravel深层关系
- 12. 关系的深度
- 13. py2app申请关闭打开
- 14. 关于申请审批
- 15. 年度申请Excel申请
- 16. Loopback如何查询基于“hasManyThrough”关系的相关模型?
- 17. 查询HasManyThrough Laravel关系检索相关记录
- 18. 如何申请自加入
- 19. 如何申请如果声明表格的<select>关系
- 20. Rails - Single Table是否继承申请人/员工关系
- 21. Laravel深厚的关系
- 22. 深度关系检索
- 23. Rails中的深层关系
- 24. 等待系统时间继续申请
- 25. 泽西申请头申请失败/ xml
- 26. Laravel中的多对多关系:belongsToMany()与hasManyThrough()
- 27. 与USER_ID CakePHP的hasManyThrough关系被使用了两次
- 28. HasManyThrough多态和许多一对多关系
- 29. 试图实现一个hasManyThrough类型的关系
- 30. 如何“通过”借“hasManyThrough”关系在环路定义的模型
[我问过同样的问题]几年前(http://stackoverflow.com/questions/25938081/distant-hasmanythrough)。 HasManyThrough只是一个捷径。就目前而言,没有内置的访问远程关系的机制。 – maiorano84