Yii::$service->helper->ar->save($model, $one);
这个方法在更新一条记录时,会产生类似的SQL记录
UPDATE `employee` SET `id`=1, `shop_id`=1, `status`=1, `updated_at`=1616763224 WHERE `id`=1
Yii2 原本的AR, save() 方法不会:
- ‘id’ 这种主键不会在更新字段中 (这里出现这个字段个人比较在意)
- 所有没有发生变化的字段不会出现更新字段中。
怀疑是因为save方法的赋值造成的。
临时解决方案,在传入的$one之前去掉主键字段
$primaryKey = $this->getPrimaryKey();
ArrayHelper::remove($one, $primaryKey);