Я получаю эту ошибку при попытке просмотреть сообщения об ошибках из API. В документации говорится, что он возвращает массив объектов BatchError в поле PartialError. Когда я пытаюсь получить доступ к свойству Index BatchError, это дает мне ошибку. Что не так?PHP: попытка получить свойство не объекта, из объекта BatchError API объявлений Bing
https://msdn.microsoft.com/en-us/library/bing-ads-campaign-management-addadgroups.aspx#Anchor_1
PHP Notice – yii\base\ErrorException
Trying to get property of non-object
1. in /cygdrive/c/Users/Chloe/workspace/bestsales/models/BingAds.php at line 384
$response = $campaignProxy->GetService()->AddAdGroups($request);
} catch (\SoapFault $e) {
$this->handleException($e);
return null;
}
$adGroupsIds = $response->AdGroupIds;
$partialErrors = $response->PartialErrors;
foreach ($partialErrors as $batchError) {
Yii::error($batchError);
$adGroup = $adGroups[$batchError->Index]; # <<<<
Журналы:
2016-09-11 22:15:59 [::1][1][v5adqit0fiae7bon3i1lks49m3][error][application] [
unserialize('O:8:"stdClass":8:{s:4:"Code";i:1016;s:7:"Details";N;s:9:"ErrorCode";s:33:"CampaignServiceInvalidEntityState";s:9:"FieldPath";N;s:23:"ForwardCompatibilityMap";N;s:5:"Index";i:0;s:7:"Message";s:104:"Passed entity state is invalid. Please refer to documentation for list of valid values for given entity.";s:4:"Type";s:10:"BatchError";}'),
]
in /cygdrive/c/Users/Chloe/workspace/bestsales/models/BingAds.php:383
in /cygdrive/c/Users/Chloe/workspace/bestsales/models/AdGroup.php:195
in /cygdrive/c/Users/Chloe/workspace/bestsales/models/Keyword.php:145
2016-09-11 22:15:59 [::1][1][v5adqit0fiae7bon3i1lks49m3][error][yii\base\ErrorException:8] exception 'yii\base\ErrorException' with message 'Trying to get property of non-object' in /cygdrive/c/Users/Chloe/workspace/bestsales/models/BingAds.php:384
Я также попытался
Yii::error($batchError);
Yii::error($batchError['Index']);
Yii::error($batchError::$Index);
Yii::error($batchError->$Index);
Yii::error($batchError->Index);
я использовал VarDumper
и получил это:
[
0 => stdClass#1
(
[Code] => 1016
[Details] => null
[ErrorCode] => 'CampaignServiceInvalidEntityState'
[FieldPath] => null
[ForwardCompatibilityMap] => null
[Index] => 0
[Message] => 'Passed entity state is invalid. Please refer to documentation for list of valid values for given entity.'
[Type] => 'BatchError'
)
]
Что такое '$ adGroups'? Насколько я могу судить, нет проблем с доступом к '$ batchError-> Index' – Phil