关于Yii2 model save方法的疑问

18-07-03 00:55 1111 0 已编辑

我有一段代码大致是这样的

$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();
}

不知道为什么。下次写类似这种逻辑需要注意下。

做自己喜欢做的事。
Up骚年
Up骚年 站长 @ 十七度 创建者 11 声望
all or nothing, now or never.
0 人点赞
0 条评论
排序方式 时间 投票
快来抢占一楼吧
请登录后发表评论