簡體   English   中英

雄辯的hasMany關系get()對嵌套對象不起作用

[英]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"}]]}, {.......}

但是在另一種情況下,當我使用相同樣式的代碼時,它將獲得houserooms ,而不是與room對象關聯的furnitures 這可能是什么原因? 就類中的關系聲明而言,兩種情況下我的代碼似乎都是相同的:

 public function rooms() {
    return $this->hasMany('HouseRoom', 'house_id');
}

我知道這沒什么大不了的,但是我希望找到一個以前遇到過此類問題的人。

我的猜測是:

  • 我不知道下蹲以及對象如何通過其所有屬性返回
  • 有外鍵問題

事實證明,這是有關如何獲取數據的經典語法錯誤。 為了獲得一個對象及其所有子對象,在正確建立關系的前提下,您需要使用:

$house->rooms;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM