我有一段代码大致是这样的
$model = new Notification();
if($type == 1) {
$data = [];
$data['aa'] = 1;
$model->load($model, '') && $model->save();
}
if($count == 2) {
$data = [];
$data['bb'] = 2;
$model->load($model, '') && $model->save();
}
这个时候$type = 1 , $count = 2 , 按照我的心里预期,应该是保存了两条数据,因为两条数据都符合条件,但是实际结果是只保存了最后一条数据。
如果想两条数据都保存,需要改成下面这样。
$model = new Notification();
if($type == 1) {
$data = [];
$data['aa'] = 1;
$_model = clone $model;
$_model->load($model, '') && $_model->save();
}
if($count == 2) {
$data = [];
$data['bb'] = 2;
$_model = clone $model;
$_model->load($model, '') && $_model->save();
}
不知道为什么。下次写类似这种逻辑需要注意下。