我試圖獲取與我的網站上給定用戶相關的配置文件。PHP Laravel雄辯的關係在使用findOrFail時不起作用
的關係是建立正確的(我可以這樣做:Auth::user() -> profile
訪問配置文件數據,但是當我嘗試這樣做:User::findOrFail(1) -> profile
它給了我一個錯誤說,它不是一個對象(和配置文件的值等於。null
這是爲什麼是的與1
的ID的用戶確實存在
在我User
模型我設置這樣的:?
public function profile() {
return $this -> hasOne('App\Profile', 'user_id');
}
在我Profile
模型我已經做到了這一點:
public function user() {
return $this -> belongsTo('App\User', 'user_id');
}
我剛剛看到這個問題,當抓住X用戶並在foreach循環中檢查它們時(如下所示)。
<div class="thumbs-wrapper text-center">
@foreach ($last_online as $user)
<div class="thumb @if(\App\User::isOnline($user -> id)) online @else offline @endif">
<a href="/profile/view/{{ $user -> id }}">
<img src="{{ asset($user -> profile -> picture) }}">
</a>
</div>
@endforeach
</div>
什麼可能是錯的?提前致謝。
一個或多個在用戶的foreach不具備個人資料,這就是全部 –
所有用戶都有個人資料。它是在用戶註冊時創建的,具有與用戶相同的user_id。我也在我的數據庫管理器中手動檢查了這個。 – Kaizokupuffball
然後檢查堆棧跟蹤並確定發生錯誤的位置。 –