在這裏遇到一些Laravel問題。laravel addEagerConstraints hasOne
我有3種型號:
通知
- ID
- 消息
- SENDER_ID
- recipient_id
- 等。
參與者
- ID
- USER_ID
- 等。
用戶
- ID
- 名稱
- 等。
通知可以具有發送器(SENDER_ID)和接收方(recipient_id)都引用到參與者表。 參與者具有對用戶(user_id)的引用。
我正嘗試使用下面的代碼獲取發件人和收件人的通知列表。
public function sender()
{
return $this->hasOne('App\Models\Participant', 'sender_id', 'id')->with(['user']);
}
public function recipient()
{
return $this->hasOne('App\Models\Participant', 'id', 'recipient_id')->with(['user']);
}
這將返回空結果 [關係:保護] =>數組 ( [發送方] => [接收者] => )
當改變的代碼:
public function sender()
{
return $this->hasOne('App\Models\Participant', 'sender_id', 'id')->with(['user'])->first();
}
public function recipient()
{
return $this->hasOne('App\Models\Participant', 'id', 'recipient_id')->with(['user'])->first();
}
我收到一個
「調用未定義的方法Illuminate \ Database \ Query \ Builder :: addEagerConstraints()」
首先,爲什麼你有兩個函數的收件人()? –
犯了一個錯誤,我糾正了第一篇文章。 – quibuz