2016-09-21 23:10:31 3452次浏览 4条回答 0 悬赏 10 金钱

找来找去似乎就三种方法:

  1. ::find()->delete(),我猜这样会多一次select影响性能?
    (顺便问下有没有方法可以记录Yii框架生成并查询的SQL语句?)
  2. ::deleteAll(),没有limit,也是影响性能
  3. 手写语句,太麻烦

所以,有没有又方便又性能比较好的删除、更新单条数据的方法呢?
例如CI框架可以这样:db->from('table')->limit(1)->where('id', 1)->delete()

最佳答案

  • lxepoo 发布于 2016-09-26 10:27 举报

    find应该不会产生查询的,除非->one()才会,因为find是连贯方法的起始点,做一些准备工作,应当不存在你说的问题,你可以用yii debug看一下所执行的sql语句。

    1 条回复
    回复于 2016-09-27 09:29 回复

    我后来想了想也觉得是这样。有空看看

您需要登录后才可以回答。登录 | 立即注册
mokeyjay
总监

mokeyjay 广东

注册时间:2015-05-16
最后登录:2019-03-27
在线时长:12小时40分
  • 粉丝3
  • 金钱3450
  • 威望0
  • 积分3570

热门问题