2017-09-19 4 views
-2

J'utilise le framework yii2 et j'ai un problème avec EmployeeController. Lorsque j'essaie de modifier les détails des 6 premiers employés, je reçois une erreur avec le contrôleur des employés, mais tous les comptes après les 6 premiers ne génèrent pas d'erreur.Erreur générée par YII EmployeeController.php

Je reçois 9 erreurs au total.

S'il vous plaît voir le lien ci-joint Imgur voir l'album photo de tous 9.

Toute aide sera la bienvenue!

https://imgur.com/gallery/KmFGI

MAJ: Ajout de l'erreur initiale avec le code pour plaire à tous.

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;} } 
+0

vous me préférez coller chaque erreur? Il n'y a aucune raison de rejeter le vote parce que ce n'est pas dans votre format préféré. –

+0

Je crois que quelqu'un vient de répondre à la question merci. –

+0

le fait que quelqu'un répond à votre question ne signifie pas que vous pouvez poster une question pas bien formé .. si vous avez besoin d'aide, vous devriez au moins aider les autres à vous aider .. cela s'appelle "respect" .. – scaisEdge

Répondre

1

Dans puis trouver() ci-dessous vous ne retrive aucun modèle de l'utilisateur ainsi dans la ligne suivante lorsque vous accédez à model_u- $> id vous obtenez l'erreur « Essayez d'obtenir l'attribut d'un objet non »

$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(); 

'

vous pouvez essayer cette façon

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();  
    } 
} 
+0

Parfait je vais essayer cela sous peu et vous le faire savoir! –

+0

Cela a résolu le problème, merci beaucoup! –

0

ligne 229 tente d'accéder à l'objet créé (ou tenté de) sur la ligne 228. Mais vous n'avez pas vérifier qu'il est retourné votre objet attendu. var_dump() pour vérifier qu'il a bien été créé, je pense que vous constaterez que ce n'est pas le cas!