我的聊天模式中有关系
public function user() {
return $this->hasOne(User::class,'id','writers_id');
}
想在我的控制器中使用它。我尝试了很多方法,但没有人工作。只是给出最后一个尝试示例(结果 - 空白页面)。
print_r($chat = Chat::where('id', 1)->first()->user);
任何人都可以帮助我吗?谢谢!我真的不明白,Eloquent之前使用过简单的数据库查询器,但有人说我应该在模型中做每个数据库的东西。这是对的吗?抱歉我的英语不好!
答案 0 :(得分:1)
首先由@Vohuman提及
return $this->hasOne('App\User', 'id', 'writers_id');
使用时:
Chat::where('id', 1)->first()->user()->first()->attribute
答案 1 :(得分:1)
请看这里: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);