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