我们可以将模型传递给雄辩的Laravel的updateOrCreate方法吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我们可以将模型传递给雄辩的Laravel的updateOrCreate方法吗?相关的知识,希望对你有一定的参考价值。
无论如何将模型传递给Eloquent laravel的updateOrCreate方法?我当前的代码工作正常,我将数组传递给updateOrCreate方法。
$ud = UserDetail::updateOrCreate(
['user_id' => $user->id],
[
'father_name' => $request['fname'], 'dob' => $request['dob'],
'contact_no' => $request['contactNumber'], 'img_url' => $url,
'postal_address' => $request['postalAddress'],
'permanant_address' => $request['permanantAddress'],
'gender' => $request['gender'], 'religion' => $request['religion'],
'marital_status' => $request['maritalStatus'],
'district_id' => $request['district'], 'profile_status' => $status]);
我多次使用updateOrCreate方法。所以我想创建一次模型,将这些值分配给模型,然后将其传递给updateOrCreate方法,而不是传递大型数组。
//Create model and assign values
$user_d = new UserDetail;
$user_d->father_name = $request['fname'];
$user_d->dob = $request['dob'];
//pass the model to updateOrCreate method
$ud = UserDetail::updateOrCreate(
['user_id' => $user->id], $user_d );
答案
你可以使用attributesToArray
方法
//Create model and assign values
$user_d = new UserDetail;
$user_d->father_name = $request['fname'];
$user_d->dob = $request['dob'];
$user_d->save();
//pass the model to updateOrCreate method
$ud = UserDetail::updateOrCreate([
'user_id' => $user->id
], $user_d->attributesToArray());
以上是关于我们可以将模型传递给雄辩的Laravel的updateOrCreate方法吗?的主要内容,如果未能解决你的问题,请参考以下文章