猿问

这句错误是什么意思?Call to a member function where() on integer

本来是想写一个修改数据的语句,但是看来yii上面的修改好像不一样啊(我是小白请指教)

https://img1.mukewang.com/5c8f643c0001445f08000117.jpg

米琪卡哇伊
浏览 7967回答 8
8回答

青春有我

// 条件 $condition = [ 'id' => $id, ]; // 数据 $data = [ 'uid' = $uid, ]; $result = self::updateAll($data, $condition);

精慕HU

意思是你在一个int类型的值上使用的where()方法 也就是说你的update()方法返回值是个integer值

森林海

yii应该是$model::find()->where()->all()后再Update

喵喵时光机

你先看看update的返回值.

慕标5832272

说明update()方法返回的类型是个integer,即整形。而整形数据不是一个对象,所以不能以“->where()”方式来调用where()方法。问题在于update()方法没有按照期望的方式返回一个对象类型数据。

一只名叫tom的猫

update返回的是影响行的数量,不是直接用链式操作进行查询最好是更新完毕之后再用self::where()

慕丝7291255

update 影响数据,所以有返回值(看结果是int) 所以正确的做法是把 update 扔到最后执行

侃侃尔雅

谢谢大家,问题已经解决了
随时随地看视频慕课网APP
我要回答