[英]Eloquent hasMany relationship get() not working for nested objects
我有一個對象有很多項目的情況,其中有很多項目。 例如,一棟house
rooms
,每個room
furnitures
。
在過去,這很簡單:
$house->rooms()->get()->all();
然后將所有對象及其嵌套對象放入數組中(請原諒我的JSON語法中的任何錯誤):
{"house_name":"Max's House", "rooms":["den":[{"furniture_name":"couch"}],"kitchen":[{"furniture_name":"bed"}]]}, {.......}
但是在另一種情況下,當我使用相同樣式的代碼時,它將獲得house
和rooms
,而不是與room
對象關聯的furnitures
。 這可能是什么原因? 就類中的關系聲明而言,兩種情況下我的代碼似乎都是相同的:
public function rooms() {
return $this->hasMany('HouseRoom', 'house_id');
}
我知道這沒什么大不了的,但是我希望找到一個以前遇到過此類問題的人。
我的猜測是:
事實證明,這是有關如何獲取數據的經典語法錯誤。 為了獲得一個對象及其所有子對象,在正確建立關系的前提下,您需要使用:
$house->rooms;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.