我在用户类的控制器中有标准代码
public function actionEdit($username)
{
...
$model = User::findByUsername($username);
if ($model->load(Yii::$app->request->post()) && $model->save()) {
如果我编辑用户,我会收到错误
Call to a member function load() on a non-object
这是指 $model->load
这是为什么 ?
更新
$model 上的 var_dump 显示 NULL,这很奇怪
因为我在视图操作中使用了相同的功能并且它完美地工作
public function actionView($username){
$model = User::findByUsername($username);
if($model){
UPDATE2我已经做了一些更改,现在代码是这样的,没有错误,但逻辑是没有加载和保存,导致如果转到其他部分并再次加载编辑而不是查看。
$model = User::findByUsername($username);
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['view', 'username' => $model->username]);
} else {
return $this->render('edit', [
'model' => $model,
}
用
var_dump($model);
看看究竟$model
是什么。可能它不是模型,检查函数的结果findByUsername()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句