2015-11-02 14:08:20 11939次浏览 1条回答 0 悬赏 10 金钱

请问 yii2 删除多条返回 0

Post::deleteAll(['and', 'id=:id', 'pid=:id'], [':id' => $id]);

删除单条没问题

Post::findOne($id)->delete();

是什么原因?

  • 回答于 2015-11-02 14:43 举报

    Post::deleteAll(['and', 'id=:id', 'pid=:id'], [':id' => $id]);要满足2个条件,'id=:id' and 'pid=:id'
    Post::findOne($id)->delete();满足一条。'id=:id'
    先确认下pid是不是等于id。

    3 条回复
    回复于 2015-11-03 11:49 回复

    对的,我是删除父级id 和 所有所属id ,返回 sql 语句也没问题。

    回复于 2015-11-03 13:35 回复

    你确定是 ‘and’ 么? 不是 ‘or’? 你去数据库找一条id=1,pid=1的数据给我看下。

    回复于 2018-07-25 12:23 回复

    我今天也遇到了这个问题,多试了几次 , deleteAll返回的数字代表删除成功的数据条数 , 如果数据库没有符合条件的数据,也会返回0 , 所以不能根据返回值是不是0判断有没有删除成功.

    觉得很赞
您需要登录后才可以回答。登录 | 立即注册
lissome
主管

lissome

注册时间:2014-05-15
最后登录:2021-03-07
在线时长:19小时48分
  • 粉丝3
  • 金钱655
  • 威望0
  • 积分845

热门问题