2013-12-09 15:32:36 3416次浏览 1条回答 0 悬赏 1 金钱

用一下代码准备删除一条记录的时候 提示我 active record 由于是新的, 无法被删除.

$model = new Rating();

$model->find('entity_id=? AND entity_type=? AND uid=?',array('4','1', '1'));

return $model->delete(); 


插入数据也是这样写的,我觉得应该是因为我使用了同一个AR实例 才造成的这个原因

大家有没有遇到这样的问题

是怎么解决的?

我的解决办法是删除记录的时候不再使用AR实例 而是通过执行SQL

$rowCount=$command->execute(); 

  • 回答于 2013-12-09 18:12 举报

    楼主的用法很奇怪啊。

    $model = Rating::model()->find('entity_id=? AND entity_type=? AND uid=?',array('4','1', '1'));先这个试试。

    如果还是用你的这个用法,你先打印一下model的场景,看是不是insert。

    如果是就改成update试试看能不能删除。如果不是,那我也不知道了。。。

    1 条回复
    回复于 2013-12-09 22:08 回复

    我是第一次用Yii,对Yii的底层代码不熟悉,项目赶的比较紧
    而且我觉得咱俩的写法基本是一样的

您需要登录后才可以回答。登录 | 立即注册
燕玉苗
经理

燕玉苗

注册时间:2013-04-28
最后登录:2014-04-24
在线时长:54小时20分
  • 粉丝14
  • 金钱55
  • 威望60
  • 积分1195

热门问题