YII 抛出的错误 EmployeeController.php

Error Thrown from YII EmployeeController.php

我正在使用 yii2 框架,但在使用 EmployeeController 时遇到问题。

当我尝试编辑前 6 个员工详细信息时,员工控制器抛出错误,但是前 6 个之后的每个帐户都不会抛出错误。

我总共有 9 个错误。

请看附上的imgurlink看到全部9的相册

欢迎任何帮助!

https://imgur.com/gallery/KmFGI

更新:为了取悦所有人,添加了代码的初始错误。

if(isset($_POST['Employee']['is_manager']) && $_POST['Employee']['is_manager']!=0){ 
                      $model_u = User::find()->where(['id'=>$model->id])->one();//print"<pre>";print_r($model_u);die('ddd');
                     if(isset($model_u->id)){
                          $p_user = UserAdmin::find()->where(['child_id'=>$model_u->id])->one();
                     }else{
                          $model_u = new User(); $p_user = new UserAdmin(); }                            
                 }else{  
                        if($model->is_manager == 1 || $model->is_manager == 2){ 
                            $model_u = User::find()->where(['id'=>$model->id])->one();//print"<pre>";print_r($model_u);die('eee');
                            $p_user = UserAdmin::find()->where(['child_id'=>$model_u->id])->one();
                        }else{
                               $model_u = new User();
                                  $p_user = new UserAdmin();           
                        }                           
                 } 
              }

    if(Yii::$app->user->can('update-employee')){ $true = true; }
        else{ if($model->user_id == Yii::$app->user->id){ $true = true;}else{$true=false;} }

第 229 行尝试访问您在第 228 行创建(或尝试)的对象。但是您没有检查它是否返回了您期望的对象。 var_dump() 仔细检查它是否实际创建,我想你会发现它没有!

然后在下面的 find() 中,您不会检索任何用户模型,因此在下一行中,当您访问 $model_u->id 时,您会收到错误 "Try to get attribute of a non object"

$model_u = User::find()->where(['id'=>$model->id])->one();//print"<pre>";print_r($model_u);die('eee');
$p_user = UserAdmin::find()->where(['child_id'=> $model_u->id])->one();

'

你可以这样试试

if($model->is_manager == 1 || $model->is_manager == 2){ 
     $model_u = User::find()->where(['id'=>$model->id])->one();//print"<pre>";print_r($model_u);die('eee');
     if (isset($model_u)){
        $p_user = UserAdmin::find()->where(['child_id'=> $model_u->id])->one();
     } else {
        $model_u = new User();
        $p_user = new UserAdmin();      
     }
}