![](/img/trans.png)
[英]Laravel Eloquent $model->save() not saving but no error
[英]Laravel Eloquent Inaccessible by $model->id;
我以前做了很多次,但不知怎的,我的想法一直停留在這個問題上:
$data['conversations'] = Conversation::with("sender")->received()->get();
執行{{ $conversation }}
會產生:
{
"id": "1",
"subject": "",
"sender": {
"id": "4",
"email": "jane@doe.com",
"name": "Jane Poe",
"group_id": "3",
"created_at": "2014-12-22 20:31:00",
"updated_at": "2014-12-22 20:31:00"
},
"receiver": "1",
"created_at": "2015-01-04 00:00:00",
"updated_at": "2015-01-04 00:00:00"
}
請注意,“發件人?現在{{ $conversation->sender->email }}
給出:
試圖獲得非對象的屬性
當呼叫{{ $conversation->sender }}
它只打印“4”(id)。
發件人存儲在名為sender的列中的對話表中。
$conversation->sender()
也不起作用
這是代碼:
class Conversation extends Eloquent {
protected $table = 'conversations';
public function sender()
{
return $this->belongsTo('User','sender','id');
}
public function receiver()
{
return $this->belongsTo('User','receiver','id');
}
}
該關系不能與外鍵 (或基本上任何列) 具有相同的名稱
只需將sender
更改為sender_id
。 然后你甚至可以從關系聲明中刪除它,因為它是傳統的命名。
public function sender()
{
return $this->belongsTo('User');
}
(因為id
可能是User
的主鍵,你也可以刪除它)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.