Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 致命错误:在规则中对null调用成员函数getId()_Php_Symfony_Doctrine Orm_Zend Framework2 - Fatal编程技术网

Php 致命错误:在规则中对null调用成员函数getId()

Php 致命错误:在规则中对null调用成员函数getId(),php,symfony,doctrine-orm,zend-framework2,Php,Symfony,Doctrine Orm,Zend Framework2,我说得有点错误 Fatal error: Call to a member function getId() on null. 但是如何检查元素,这是我的代码 $infoArray['groupId'] = $info->getId(); $infoArray['name'] = $info->getName(); $infoArray['addressLine1'] = $info->getAddressLine1(); $infoArray['addressLine2']

我说得有点错误

Fatal error: Call to a member function getId() on null.
但是如何检查元素,这是我的代码

$infoArray['groupId'] = $info->getId();
$infoArray['name'] = $info->getName();
$infoArray['addressLine1'] = $info->getAddressLine1();
$infoArray['addressLine2'] = $info->getAddressLine2();
$infoArray['isActive'] = $info->getActive();
$infoArray['countryId'] = $info->getCountry()->getId(); //Here is my error line
$infoArray['countryName'] = $info->getCountry()->getName();
$infoArray['stateId'] = $info->getState()->getId();
$infoArray['stateName'] = $info->getState()->getName();
$infoArray['cityId'] = $info->getCity()->getId();
$infoArray['cityName'] = $info->getCity()->getName();
$infoArray['areaId'] = $info->getArea()->getId();
$infoArray['areaName'] = $info->getArea()->getName();
$infoArray['zipcode'] = $info->getZipcode();
检查为空($object\u name)

将行替换为:

$infoArray['countryId'] = $info->getCountry() ? $info->getCountry()->getId() : null;

对关联对应的每一行执行相同的操作(可以为null),如果对象为null,则将返回
null

那么,您的
$info
对象似乎从
getCountry()
对象返回
null
。因此,您需要使用
null!==$info->getCountry()
或类似的东西,在尝试调用任何方法之前首先返回预期对象。$infoArray['countryId']=$info->getCountry()?:$info->getCountry()->getId();不适用于我,而是$infoArray['countryId']=$info->getCountry()$信息->getCountry()->getId():'';在美沙克工作时,是否可以保留为null或“我正在寻找类似于三元运算符的东西,这使我的代码干净?”