我有一个Profile模型,它与User模型具有OneToOne关系。如何检查已登录用户是否已经拥有配置文件控制器?如果没有,创建一个。
感谢
尝试这个
if (!$user->profile()->exists()) {
Profile::create(['user_id' => $user->id]);
}
或
if (!auth()->user()->profile()->exists()) {
Profile::create(['user_id' => $user->id]);
}
在laravel中,您可以检查关系是否存在
Auth::User()->has('profile')->exists();
或
Auth::user()->profile()->exists();
或
$profile = Auth::User()->profile()->first();
if (!$profile) // when doesn't exists
{
// code goes here
}
您可以尝试使用firstOrCreate
来处理它:
$profile = $user->profile()->firstOrCreate([], [
'field' => 'value',
...
]);