我的聊天模型中有关系
public function user() {
return $this->hasOne(User::class,'id','writers_id');
}
并想在我的控制器中使用它。我尝试了很多方法,但没有一种奏效。只是给出最后一次尝试示例(结果 - 空白页)。
print_r($chat = Chat::where('id', 1)->first()->user);
谁能帮我?谢谢!我真的不明白Eloquent,以前使用过简单的数据库查询器,但是有人说我应该在模型中做每个数据库的东西。正确吗?对不起,我的英语很差!
@Vohuman提到的第一个
return $this->hasOne('App'User', 'id', 'writers_id');
使用它时:
Chat::where('id', 1)->first()->user()->first()->attribute
看这里: https://laravel.com/docs/master/eloquent-relationships#one-to-one
在App'Chat.php
:
public function writer()
{
return $this->hasOne('App'User','id','writers_id');
}
以定义关系。然后在任何控制器中:
在顶部:
use App'User;
在方法内部:
$writer = User::find($user_id)->writer;
要调试它,请在上述行前面添加一行。
dd($user_id,User::find($user_id),$writer);