2016-08-08 8 views
0

hallo erhielt ich diese Fehlermeldung, wenn ich auf dem Server meine Anwendung ausführen:CakePHP - Wie ein ‚Versuch Eigenschaft von nicht-Objekt zu erhalten‘ zu lösen Fehler

Notice (8): Trying to get property of non-object [APP/Template/ApplicantEducationNeeds/view.ctp, line 52] 

und dies ist die Linien in view.ctp Code:

<?php 

    use Cake\Cache\Cache; 
    use Cake\Core\Configure; 
    use Cake\Datasource\ConnectionManager; 
    use Cake\Error\Debugger; 
    use Cake\Network\Exception\NotFoundException; 

    $this->layout = 'userProfile'; 

    if (!Configure::read('debug')): 
     throw new NotFoundException(); 
    endif; 

    //echo debug($applicantDesiredEducations); 

    ?> 

    <div class='col-md-12'> 
     <div class="applicantGenerals view large-9 medium-8 columns content"> 

      <div class ='col-md-4'> 
       <h3><?= __('Desired Education') ?></h3> 
        <table class="table"> 
         <thead> 
          <tr> 
           <th><?= __('Field Of Studies') ?></th> 
           <th class="actions"><?= __('Actions') ?></th> 
          </tr> 
         </thead> 
         <tbody> 
          <?php foreach ($applicantDesiredEducations as $applicantDesiredEducation): ?> 
          <tr> 
//here the lines of 50's 
           <td><?= $_language == 'en_US' ? h($applicantDesiredEducation->education_field_of_study_sub->name_en) : h($applicantDesiredEducation->education_field_of_study_sub->name_ara) ?></td> 

aber bemerken, wenn ich diesen Code in meinem lokalen Rechner seine Werke in Ordnung zu ruinieren, jede vielversprechende Lösung wird es Fällung

sein

Antwort

1

nur eine Vermutung, da Sie bieten nicht viele Informationen über Ihre Fehler:

Sie durch $applicantDesiredEducations sind Looping, aber wahrscheinlich nicht jeder $applicantDesiredEducation hat eine education_field_of_study_sub

Also, wenn Sie $applicantDesiredEducation->education_field_of_study_sub->name_en Sie diesen Fehler erhalten rufen

Sie haben eine Überprüfung der exixtence der Eigenschaft einzufügen, so etwas wie

if(isset($applicantDesiredEducation->education_field_of_study_sub)) 
{ 
    echo h($applicantDesiredEducation->education_field_of_study_sub->name_en); 
} 
+0

danken Ihnen seine jetzt arbeiten !!! – user1870982

+0

so zögern Sie nicht, die Frage als akzeptiert zu kennzeichnen – arilia

Verwandte Themen