laravel eloquent 更新或创建
laravel eloquent update or create
您好,我正在使用它根据 3 个值插入或更新记录:
DynamicTable::updateOrCreate(
[
'component_id' => $getComponentMainId->id,
'generated_workflow_id' => $created_generated_form['id'],
'form_id'=> $form_id,
],
[
'number_of_rows', $mainRows,
'row_indexes' => $indexes
]
);
如果找到记录,它将更新行数和索引,否则它会插入所有字段,但问题是它只创建或更新 row_indexes 而没有添加或更新 number_of_rows allthough字段列在 protected $fillable
中。
两个查询都是:
bindings: (3) [3709, 52, 316]
query: "select * from `dynamic_tables` where (`component_id` = ? and `generated_workflow_id` = ? and `form_id` = ?) and `dynamic_tables`.`deleted_at` is null limit 1"
和
bindings: (6) [3709, 52, 316, '0,2', '2022-02-04 10:48:34', '2022-02-04 10:48:34']
query: "insert into `dynamic_tables` (`component_id`, `generated_workflow_id`, `form_id`, `row_indexes`, `updated_at`, `created_at`) values (?, ?, ?, ?, ?, ?)"
有什么我没注意的吗
您的语法有误:
'number_of_rows', $mainRows
我假设应该是:
'number_of_rows' => $mainRows
DynamicTable::updateOrCreate([
'component_id' => $getComponentMainId->id,
'generated_workflow_id' => $created_generated_form['id'],
'form_id'=> $form_id,
],[
'number_of_rows' => $mainRows,
'row_indexes' => $indexes
]);
您好,我正在使用它根据 3 个值插入或更新记录:
DynamicTable::updateOrCreate(
[
'component_id' => $getComponentMainId->id,
'generated_workflow_id' => $created_generated_form['id'],
'form_id'=> $form_id,
],
[
'number_of_rows', $mainRows,
'row_indexes' => $indexes
]
);
如果找到记录,它将更新行数和索引,否则它会插入所有字段,但问题是它只创建或更新 row_indexes 而没有添加或更新 number_of_rows allthough字段列在 protected $fillable
中。
两个查询都是:
bindings: (3) [3709, 52, 316]
query: "select * from `dynamic_tables` where (`component_id` = ? and `generated_workflow_id` = ? and `form_id` = ?) and `dynamic_tables`.`deleted_at` is null limit 1"
和
bindings: (6) [3709, 52, 316, '0,2', '2022-02-04 10:48:34', '2022-02-04 10:48:34']
query: "insert into `dynamic_tables` (`component_id`, `generated_workflow_id`, `form_id`, `row_indexes`, `updated_at`, `created_at`) values (?, ?, ?, ?, ?, ?)"
有什么我没注意的吗
您的语法有误:
'number_of_rows', $mainRows
我假设应该是:
'number_of_rows' => $mainRows
DynamicTable::updateOrCreate([
'component_id' => $getComponentMainId->id,
'generated_workflow_id' => $created_generated_form['id'],
'form_id'=> $form_id,
],[
'number_of_rows' => $mainRows,
'row_indexes' => $indexes
]);