Неопределенный индекс PHP Уведомление / Ошибка - PullRequest
0 голосов
/ 02 мая 2011

На странице моего приложения не будет отображаться необходимый текст, поэтому я проверил журнал ошибок Apache и обнаружил следующее уведомление / ошибку.

 PHP Notice:  Undefined index: PetManager_Model_Groomprocedures display.phtml on line 34 

Это связано с тем, что я 'Я пытаюсь отобразить результат из запроса, и он не может получить этот элемент из моего массива результатов.Ситуация заключается в том, что я запрашиваю таблицу бронирования, которая связана с таблицей услуг (эти элементы хорошо отображаются), таблица услуг в свою очередь связана с таблицей процедур (это элемент, который не будет отображаться).

Может кто-нибудь сказать мне, где я ошибаюсь, то есть мой запрос или мой код дисплея и как я могу заставить это работать.

Код запроса из моего действия дисплея

     if ($input->isValid()) {
         $q = Doctrine_Query::create()
            ->from('PetManager_Model_Kennelbooking k')
            ->leftJoin('k.PetManager_Model_Kennelservices s')
            ->leftJoin('s.PetManager_Model_Groomprocedures g')
            ->leftJoin('k.PetManager_Model_Clients c')
            ->leftJoin('k.PetManager_Model_Kennels l')
            ->where('k.kennelbookingID = ?', $input->id);
            if('k.groomingIncluded'==1)
            {$q->addWhere('s.groomingGiven=g.groomProceduresID');
            }

  $result = $q->fetchArray();
  if (count($result) == 1) {
    $this -> view -> booking = $result[0]; 

Дисплейкод из моего файла phtml

   <td class="key">Grooming Procedure </td>
 </tr>
 <tr>
 <?php if($this->booking['PetManager_Model_Kennelservices']['groomingGiven']==NULL)
    echo '<td>'.'There is no grooming procedure associated for this booking'.'</td>';
    else echo '<td>'.$this->escape($this->booking['PetManager_Model_Groomprocedures']['groomprocedure']).'</td>';
    ;?>
 </tr>  

Заранее большое спасибо,

Грэм

1 Ответ

1 голос
/ 02 мая 2011

Как видите, индекс PetManager_Model_Groomprocedures не определен в переменной booking.

Чтобы узнать, какие ключи доступны, выполните следующие действия в вашем контроллере для получения отладочного вывода.

<code>echo '<pre>';print_r($result[0]);echo '
'; выход;

Вы увидите, какие ключи доступны в этом массиве. Я полагаю, вы явно не выбираете нужную строку. Вы измените свой запрос таким образом, что вы также выберете нужную строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...