Witam, mam pewien problem, gdy próbuję zapisać atrybut do bazy danych. Piszę sobię w OctoberCMS. Mam taką funkcję:
public function findActualNewsletter()
{
$actualNewsletter = Newsletter::where('status_id', '=', NewsletterStatus::getSentNowStatus())->first();
if (!$actualNewsletter) {
$actualNewsletter = Newsletter::where('send_at', '<=', date('Y-m-d'))->where('status_id', NewsletterStatus::getUnsentStatus())->first();
$actualNewsletter->status_id = NewsletterStatus::getSentNowStatus();
dd($actualNewsletter);
}
return $actualNewsletter;
}
Jeśli $actualNewsletter ma status 2(czyli aktualnie się wysyła to zwraca mi ją(getSentNowStatus)) ale jeśli nie ma takiej to szukam kolejnej której status to 1(czyli się nie wysyłagetUnsentStatus()) i wtedy próbuję zapisać jej atrybut status_id na 2. Var_dump pokazuje, że status_id jest 2 czyli dobrze, jednak w bazie się nie zapisuje. Dodam, że dla testów Używam tej w funkcji w afterSave, czyli nie musze a wręcz nie mogę zrobić tutaj:
$actualNewsletter->status_id = NewsletterStatus::getSentNowStatus();
$actualNewsletter->save();
tablicę $fillable uzupełniłem o status_id. I teraz nie wiem, gdzie może tkwić błąd, że nie zapisuje się w bazie status 2 jeśli wejdzie w tego ifa. Może ktoś widzi co robię źle? Z góry dziękuję :)