我想将配置文件表中的user_id存储到一个变量中。在我的索引函数我有:
$userid = Profile::where('user_id', auth()->user()->id)
->first();
return view ('profile.index',[
'user' => $user,
'userid' => $userid,
'about' => $about,
在我的索引视图中:
@if(Auth::user()->id == $userid)
<h3>hello</h3>
@endif
然而,我得到这个错误:
类AppModelsProfile的对象无法转换为int (View: C:xampplaravelprojectstestfrihandresourcesviews Profile index.blade.php)
将其更改为从模型实例中获取user_id
$userid = Profile::where('user_id', auth()->id)
->first()->user_id;
notice:当你调用first()
方法时,你会得到一个eloquent模型的实例。你应该告诉它你想要什么属性。这里,您需要user_id。->first()->user_id
和->first()->get('user_id')
都可以得到你想要的答案。
通知e2:您可以通过调用auth()->id
不知道自己到底需要什么。但是任何地方$用户id =简介::(user_id,身份验证()→用户()→id)→第();这里你得到一个Profile Object,而不是id。请指定您的问题:您是想在此代码中存储user_id,还是获取user_id并在condition中使用它?
$user = auth()->user();
$whatEverYouWant= Profile::where('user_id', $user->id)->first();
return view ('profile.index',[
'user' => $user,
'userid' => $user->id,
'about' => $about
]