find加select的话save无效 [ 2.0 版本 ]
`$model = User::find()->select('name, status')->where('user_id = 1')->one();
if($model->status == 0) {
yii::$app->getSession()->setFlash('error', '抱歉,账号已被冻结');
return $this->redirect(['index']);
}
if($model->name) {
yii::$app->getSession()->setFlash('error', '您已经设置过名字啦~');
return $this->redirect(['index']);
}
// 这句是要重新操作模型下面的就能保存name,也就是说不要select
//$model = Zhongchou::find()->where('user_id = 1')->one();
$model->name = '张三';
if(!$model->save()) {
yii::$app->getSession()->setFlash('error', '抱歉,操作失败');
return $this->redirect(['index']);
}`
jiekii 补充于 2017-07-13 15:48
谢谢~~~~
共 9 个回答
-
zcx147716565 回答于 2017-07-10 09:27 举报
。。。你select是查询两个,没用中括号括起来,貌似只能选择第一个
-
dingjj2010 回答于 2017-07-11 08:43 举报
这是正常的。因为取出来的时候没有id字段,保存的时候默认是把主键当作条件,再update。
正常情况下id是主键,所以没有select出id,保存是不会有效的。
在select里面加id,应该就保存成功了。
jiekii 广州客村
注册时间:2014-03-31
最后登录:2024-08-15
在线时长:42小时24分
最后登录:2024-08-15
在线时长:42小时24分
- 粉丝18
- 金钱1450
- 威望10
- 积分1970