卡在laravel,试图在变量中存储id



我想将配置文件表中的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。

不知道自己到底需要什么。但是任何地方$用户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
]

相关内容

  • 没有找到相关文章

最新更新