我在公告功能中添加了我的應用程序。訪問關係關係
我有一個announcements
表,其存儲通知和存儲該undismissed公告爲每個用戶announcement_active
表。
當創建通告時,在announcements
表中生成一條記錄,以便爲該通告的每個用戶存儲此記錄以及爲announcement_active
表輸入一條記錄。
我的用戶模型保存了活躍公告的關係:
public function activeAnnouncements()
{
return $this->hasMany('App\ActiveAnnouncements');
}
我然後在我看來訪問該檢查任何undismissed公告如下:
@if (Auth::user()->activeAnnouncements()->count() > 0)
//code
@endif
上面的工作正常,這是當我試圖做一個for each
循環在我有麻煩的公告:
@if (Auth::user()->activeAnnouncements()->count() > 0)
@foreach(Auth::user()->activeAnnouncements()->announcement as $announcement)
//code to display announcement
@endforeach
@endif
是我在鏈接->announcement
,我跑了麻煩。我已經定義,像這樣的關係:
public function announcement()
{
return $this->belongsTo('\App\Announcements');
}
但是我得到的錯誤:
Undefined property: Illuminate\Database\Eloquent\Relations\HasMany::$announcement
當使用廷克和運行\App\User::find(1)->activeAnnouncements()->first()->announcement
正確的公告顯示。
當我試圖將這些加載到我的foreach循環中時,我會出錯嗎?
我剛剛剛回到' - > get()'解決方案。不過,我更喜歡自動屬性版本。稍後會檢查'@ each'功能,一眼看起來很有用!謝謝喬爾! – James
乾杯,我很高興它的幫助。 :) –