Upsert只插入而不更新现有字段



我正在尝试将出勤人数添加到出勤表中,如果给定日期和学生id的出勤人数已经在表中,我需要更新出勤类型。

但是upsert只是插入而不更新。

SmStudentAttendance::upsert($studentRows, ['student_id', 'attendance_date'], ['attendance_type']);

这太迟了,但它对我有效。在迁移中试试:

$table->unique(['student_id', 'attendance_date']);

或者您可以在phpmyadmin(或类似的工具)中为列添加唯一的约束

upsert和

on duplicate key update on MySQL

需要惟一的约束冲突来更新,而不是插入。

所以检查你是否有这样的违规,直接在数据库中。

你也可以阅读更多的例子例如在https://www.amitmerchant.com/insert-or-update-multiple-records-using-upsert-in-laravel8/

相关内容

  • 没有找到相关文章

最新更新