Доступ к объектной переменной - PullRequest
0 голосов
/ 27 марта 2011

Я использую API, который выдает такой массив при наличии данных:

object(stdClass)#38 (5) {
  ["ReturnCode"]=>
int(1)
["EntityResults"]=>
object(stdClass)#39 (1) {
  ["Entity"]=>
  object(stdClass)#40 (15) {
  ["id"]=>
  int(43622)
  ["UserDefinedFields"]=>
  object(stdClass)#41 (0) {
  }
  ["TicketID"]=>
  int(31024)
  ["InternalAllocationCodeID"]=>
  int(28303142)
  ["Date"]=>
  string(19) "2011-03-24T00:00:00"
  ["StartDateTime"]=>
  string(19) "2011-03-24T11:41:00"
  ["EndDateTime"]=>
  string(19) "2011-03-24T11:46:00"
  ["HoursWorked"]=>
  float(0.08)
  ["HoursToBill"]=>
  float(0.0833333358)
  ["OffsetHours"]=>
  float(0)
  ["SummaryNotes"]=>
  string(584) "Hi Steve..."
  ["InternalNotes"]=>
  string(0) ""
  ["RoleID"]=>
  int(24482927)
... 

... 

... 

...

Тогда у меня есть запись, которая возвращает результаты:

object(stdClass)#33 (5) {
["ReturnCode"]=>
int(1)
["EntityResults"]=>
object(stdClass)#34 (0) {
}
["EntityResultType"]=>
string(9) "timeentry"
["Errors"]=>
object(stdClass)#35 (0) {
}
["EntityReturnInfoResults"]=>
object(stdClass)#36 (0) {
}

}

С этим последним результатом я получаю ошибку

Everity: Уведомление

Сообщение: неопределенное свойство: StdClass :: $ Entity

Имя файла: models / tickets_model.php

Мой вопрос: как мне избежать этой ошибки? Я пробовал

    if($result->queryResult->EntityResults->Entity):
        $noteso = $result->queryResult->EntityResults->Entity;
        if(count($noteso)):
            return $noteso;
        else:
            return false;
        endif;
    endif;

Но тогда я получаю ту же ошибку, но в операторе IF.

Надеюсь, здесь достаточно, чтобы кто-то понял, что происходит.

Наиболее ценится с любой помощью,

Билли

1 Ответ

1 голос
/ 27 марта 2011

Если я правильно понимаю, это то, что вы хотите:

if(isset($result->queryResult->EntityResults->Entity)):
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...