TA贡献1784条经验 获得超8个赞
// 条件 $condition = [ 'id' => $id, ]; // 数据 $data = [ 'uid' = $uid, ]; $result = self::updateAll($data, $condition);
TA贡献1845条经验 获得超8个赞
意思是你在一个int类型的值上使用的where()方法
where()
也就是说你的update()方法返回值是个integer值
update()
TA贡献2011条经验 获得超2个赞
yii应该是$model::find()->where()->all()后再Update
TA贡献1846条经验 获得超7个赞
你先看看update的返回值.
TA贡献1966条经验 获得超4个赞
说明update()方法返回的类型是个integer,即整形。而整形数据不是一个对象,所以不能以“->where()”方式来调用where()方法。问题在于update()方法没有按照期望的方式返回一个对象类型数据。
TA贡献1906条经验 获得超3个赞
update返回的是影响行的数量,不是直接用链式操作进行查询最好是更新完毕之后再用self::where()
TA贡献1859条经验 获得超6个赞
update 影响数据,所以有返回值(看结果是int)
所以正确的做法是把 update 扔到最后执行
TA贡献1801条经验 获得超16个赞
谢谢大家,问题已经解决了
举报