Есть код создания сообщения:
foreach($this->errorsArray as $error){
$market=db\Market::findOne(['id'=>$error['marketId']]);
$action=db\Action::findOne(['id'=>$error['actionId']]);
$message .= "--------------- Error: Action: ".$action->name.", "."Market: ".$market->name.", Account: ".$error['login']." ------------". "\r\n";
$message .= "Action: ".$action->name. "\r\n";
$message .= "Market: ".$market->name. "\r\n";
$message .= "Account: ".$error['login']. "\r\n";
$message .= "Date: ".$error['date']. "\r\n";
$message .= "Message: ".$error['message']. "\r\n";
$message .= "-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------". "\r\n";
$message .= "\r\n";
}
Есть код записи в базу и отправки сообщения:
$find= db\ErrorMessage::findOne(['date'=>$date->format('Y-m-d'),'message'=>$message]);
if ($find==null){
$errorMessage = new db\ErrorMessage();
$errorMessage->date=$date->format('Y-m-d');
$errorMessage->message=$message;
$errorMessage->save();
mail($to, $subject, $message, $headers);
}
Проблема заключается в том что код запускается каждый час и логика у него такая, что он смотрит в базу и проверяет сегодня было такое сообщение или нет. Если нет то записать новое сообщение и отправить на mail. Не могу разобраться по какой причине не срабатывает условие
['date'=>$date->format('Y-m-d'),'message'=>$message], т.е. в бд забиваются каждый раз одинаковые записи. Понимаю что скорее всего проблема мелкая но я уже над нет 2 дня парюсь. По переменял все подряд но ничего не помогает. Кто подскажет примерный путь решения или само решение?