So basically i'm using a Scheduler task in which i first create an object of 
each class repository and use the function findAll() on each:

/** @var CustomerRepository $apprep2 */
$apprep2 = 
$objectManager->get(\Cjk\Icingaconfgen\Domain\Repository\ApplianceRepository::class);
/** @var Typo3QuerySettings $querySettings */
$querySettings = 
$objectManager->get('TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Typo3QuerySettings');
$querySettings->setRespectStoragePage(FALSE);
$apprep2->setDefaultQuerySettings($querySettings);
$appliances = $apprep2->findAll();

Then i use each repository object in a foreach loop to access specific 
properties of each record in the repository (to write them into a file - but 
that's another story) like this:

foreach($appliances as $appliance)
{
   if($appliance->getKundeuid() == $kunde->getUid())
   {

       $name = $appliance->getIpv4intern();
       $address = $appliance->getIpv4extern();
       $file = '/etc/icinga2/conf.d/hosts/'.$kunde->getName().'/Appliance_'. 
$appliance->getIpv4intern().'_'.$kunde->getKundennummer() . '.conf';

       $code_a = 'object Host "';
       $code_b = '" {
       import "generic-host"
       address = "';
       $code_c = '"
       vars.notification["mail"] = {
           groups = [ "icingaadmins" ]
       }
       }';
       $fp = fopen("{$file}", 'wb');
       fwrite($fp, $code_a . $name . $code_b . $address . $code_c);
       fclose($fp);
   }
}

My problem is: The moment i don't have any record of let's say the class "appliance" Typo 
3 throws me an error becauuse there is no "appliance" record it wants to access.

"Oops, an error occurred!
Call to a member function getIpv4intern() on null"

Using an if condition like:

"if($appliances != null){...}"

..Still makes the task trying to call "getIpv4intern()"... What can i do to prevent the task using the foreach loop (or any other part of my code that tries to access the record, if the record is empty?
_______________________________________________
TYPO3-english mailing list
TYPO3-english@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-english

Reply via email to