2018-04-21 12:37:57 2003次浏览 3条回答 0 悬赏 50 金钱

AR 怎么更新的时候指定 表
这样就直接报错了,说是没有updateAllCounters方法
$this->tableName() ->updateAllCounters(['downconunt' => 1]);
这样又不能指定表,我不想在tablename方法里面设置表。因为表有多个,所以不灵活
$this->updateAllCounters(['downconunt' => 1]);

还有这个 new \yii\db\Query();

怎么用更新,貌似只有查询的功能,没见有UPdate方法

补充于 2018-04-21 21:19

扎心了。老铁 没人鸟我

补充于 2018-04-22 01:08


嗯。我是想要能指定表的 更新方法,你这表在哪里指定呀

补充于 2018-04-23 18:57

@菜鸟鼻涕这就悲剧了。AR 看来不是我要的,

new \yii\db\Query();这个呢。貌似里面都是查询的功能

最佳答案

  • czbj 发布于 2018-04-24 13:59 举报

    Yii::$app->db->createCommand()->update('table', ['key'=>$value], 'where')->execute();

  • 回答于 2018-04-22 00:29 举报

    Yii::$app->db->createCommand()->update($sql)->execut();
    更新方法一堆,看文档呀。

    1 条回复
    回复于 2018-04-22 01:09 回复


    嗯。我是想要能指定表的 更新方法,你这表在哪里指定呀

  • 回答于 2018-04-23 09:09 举报

    首先一个AR对应一个表,多表更新例子如下:
    one,two,three表对应AR OneActiveRecord, TwoActiveRecord,ThreeActiveRecord
    更新可以用yii的update(),updateAll(),updateAllCounters()这三个方法,用法你可以查看源码ActiveRecord类

    1 条回复
    回复于 2018-04-23 18:57 回复

    @菜鸟鼻涕这就悲剧了。AR 看来不是我要的,

    new \yii\db\Query();这个呢。貌似里面都是查询的功能

您需要登录后才可以回答。登录 | 立即注册
蛋蛋的蛋
主管

蛋蛋的蛋

注册时间:2018-04-02
最后登录:2024-03-11
在线时长:34小时29分
  • 粉丝4
  • 金钱64
  • 威望20
  • 积分604

热门问题