Сохранение объекта в базу данных неверный формат даты codeigniter 4 - PullRequest
0 голосов
/ 09 апреля 2020

Моя сущность выглядит следующим образом:

class Request extends Entity
{
    protected $casts = [
        'id'                => 'integer',
        'added_at'          => 'datetime',
        'deadline'          => 'datetime',
        'completed'         => 'integer'
    ]; 
}

При сохранении модель генерирует поля даты в формате 'Y / m / d' для запроса sql, однако моя база данных не может проанализировать это , Как заставить его генерировать даты в формате 'Ymd' при вызове $myModel->insert($myEntity)?

1 Ответ

0 голосов
/ 13 апреля 2020

Сущности имеют опцию сеттеров. Он выполняет проверку или преобразование в вашем случае всякий раз, когда вы выполняете сохранение объекта. Допустим, вы хотите изменить форму deadline, в этом случае вам необходимо установить Setter для вашего deadline следующим образом:

public function setDeadline(string $dateString)
{
    $this->attributes['deadline'] = $dateString;

    return $this;
}

В следующей строке: $this->attributes['deadline'] = $dateString; Вы будете использовать некоторые библиотека, например, Carbon, чтобы отформатировать $dateString и затем переназначить крайний срок вашей переменной Ссылка: https://codeigniter4.github.io/userguide/models/entities.html

...