gpt4 book ai didi

php - 在 Laravel 中使用 updateOrCreate 进行多数据插入

转载 作者:可可西里 更新时间:2023-11-01 12:34:11 27 4
gpt4 key购买 nike

我在 Laravel Eloquent ORM 中使用了以下 insert array 插入多个条目

$i = 0;
foreach($exerciseValArray as $kkey=>$exerciseValue){
if($exerciseValue['exercise'] =='' || $exerciseValue['section_type'] == ''){
return Response::JSON(array('errors'=>array('Error in workout exercise section')));
}
$exerciseData = explode(',',$exerciseValue['exercise']);
foreach($exerciseData as $exerciseid){
$insertArray[$i]['fk_workouts_id'] = $id;
$insertArray[$i]['fk_users_id'] = $userId;
$insertArray[$i]['fk_exercises_id']= $exerciseid;
$insertArray[$i]['section'] = $exerciseValue['section_type'];
$insertArray[$i]['status'] = 1;
$insertArray[$i]['item_index'] = $index+$kkey+1;
$insertArray[$i]['updated_at'] = $workoutDetails['updated_at'];
$i++;
}
}
WorkoutExercise::insert($insertArray);

上面的代码工作正常,并将数据数组插入到数据库中。

我已经学会了Model::updateOrCreate的用法,并在我的一些模块中成功地使用了它(即)

Model::updateOrCreate($attributes = array('key' => 'value'), $values = array('key' => 'value'));

我的问题是如何编辑上面的插入片段,以便我可以在其中使用 Model::updateOrCreate。我的 $attributes 字段是 'fk_workouts_id'、'fk_users_id'、'fk_exercises_id' 和 $values 中的其余部分要更改。

我不知道如何实现这一点。请帮忙...

最佳答案

你可以试试,

第一道

 $user = User::firstOrNew(array('name' => 'satish'));
$user->field = 'value';
$user->save();

如果找到,它将检查用户 name=satish,然后返回。如果找不到,则创建新的并返回。然后就可以设置字段值了。

检查此链接。 http://laravel.com/docs/4.2/eloquent#insert-update-delete

第二种方式手动检查记录是否存在。

 $arr=array('field'=>"value");
$row = User::find($id);
if ($row === null) {
//Insert your record

} else {
//update your record
}

更新

您还可以使用 updateOrCreate - 更新现有模型或创建新模型(如果不存在)。 updateOrCreate 将模型持久化,因此无需调用 save()

例子-

// If there's a flight from Oakland to San Diego, set the price to $99.
// If no matching model exists, create one.
$flight = App\Flight::updateOrCreate(
['departure' => 'Oakland', 'destination' => 'San Diego'],
['price' => 99]
);

关于php - 在 Laravel 中使用 updateOrCreate 进行多数据插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27106825/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com