Hi there,
I made a custom Module to register some data, this custom module have a relationship with Email one to many
To handle my custom Module bean no problem all its working fina, but when I try to add the bean as relation to Email i retrieve following error:
Fatal error occurred
Message: Uncaught Error: Call to a member function add() on null in C:\Users\piercarlo\Documents\Visual Studio 2015\Projects\SuiteCRM-7.8.3\RegisterEmailTracking.php:54
Stack trace:
#0 C:\Users\piercarlo\Documents\Visual Studio 2015\Projects\SuiteCRM-7.8.3\include\MVC\Controller\SugarController.php(864): require_once()
#1 C:\Users\piercarlo\Documents\Visual Studio 2015\Projects\SuiteCRM-7.8.3\include\MVC\Controller\SugarController.php(394): SugarController->handleEntryPoint()
#2 C:\Users\piercarlo\Documents\Visual Studio 2015\Projects\SuiteCRM-7.8.3\include\MVC\Controller\SugarController.php(307): SugarController->process()
#3 C:\Users\piercarlo\Documents\Visual Studio 2015\Projects\SuiteCRM-7.8.3\include\MVC\SugarApplication.php(105): SugarController->execute()
#4 C:\Users\piercarlo\Documents\Visual Studio 2015\Projects\SuiteCRM-7.8.3\index.php(52): SugarApplication->execute()
#5 {main}
thrown
following the code:
<?php
use Sendinblue\Mailin;
require('mailin.php');
$mailin = new Mailin("https://api.sendinblue.com/v2.0","xxxxxxxxxxxxxxxxx");
/*Mi ricavo la data odierna*/
$dataOdierna = new DateTime('now');
$dataOdiernaFormattata = $dataOdierna->format('Y-m-d');
/*Mi ricavo i tracking odierni*/
$data = array(
"start_date" => "2017-04-25" /*$dataOdiernaFormattata*/
);
$my_array = $mailin->get_report($data);
$myData = $my_array["data"];
foreach($myData as $trackedEmail){
$trackedId = $trackedEmail['tag'];
if($trackedId != null)
{
/*Controllo se Ho giá registrato il track*/
/*Mi ricavo il bean*/
$TrackedBean = BeanFactory::getBean('ETR_EmailTracking');
/*Controllo se non é registrato*/
$exist = $TrackedBean->retrieve_by_string_fields(
array(
'email_id' => $trackedId,
'date_of_event' => $trackedEmail['date'],
'deleted' => 0
)
);
/*Se il bean é nullo lo registro*/
if($exist == null)
{
/*Mi carico il bean della email relativa*/
$emailBean = BeanFactory::getBean('Emails', $trackedId);
/*se il bean della email esiste lo registro*/
if($emailBean != null)
{
/*Mi carico le relazioni del Bean*/
$emailBean->load_relationship('ETR_EmailTracking');
/*Creo il Tracking Bean e lo salvo*/
$trackReg = BeanFactory::newBean('ETR_EmailTracking');
$trackReg->email_id = $trackedId;
$trackReg->date_of_event = $trackedEmail['date'];
$trackReg->event = $trackedEmail['event'];
$trackReg->link = $trackedEmail['link'];
$trackReg->reason = $trackedEmail['reason'];
$trackReg->save();
/*Registro la Relazione con le Email*/
$emailBean->ETR_EmailTracking->add($trackReg); [b]<-- Here I get the error[/b]
}
}
}
};
?>
Thank you in advance for helping.
Piercarlo