Как удалить `create_at`,` updated_at` из запроса на вставку (при создании записи модели)? - PullRequest
0 голосов
/ 03 февраля 2019

Есть внутренняя страница с формой с двумя полями (fake_uid, auth_key).Когда я создаю новую запись, возникает ошибка, которая сообщает следующее:

Column not found: 1054 Unknown column 'fake_uid' in 'field list' (SQL: insert into 'fakes_list' ('fake_uid', 'auth_key', 'updated_at', 'created_at') values (45345, 345345, 2019-02-03 09:57:11, 2019-02-03 09:57:11))...

В таблице fakes_list нет столбцов updated_at и created_at.Как я могу удалить их из запроса?А как поменять fake_uid на название какого-то столбца?Поскольку такого столбца действительно нет (как говорится в ошибке).

Я пытался добавить переменную $ purgable в свою модель:

use \October\Rain\Database\Traits\Purgeable;
protected $purgeable = ['created_at', 'updated_at'];

Не работает.Но если я добавлю, например, fake_uid - он будет удален из запроса.Хм ??

1 Ответ

0 голосов
/ 03 февраля 2019

https://octobercms.com/docs/database/model#property-timestamps

По умолчанию модель ожидает, что в ваших таблицах будут присутствовать столбцы create_at и updated_at.Если вы не хотите, чтобы эти столбцы управлялись автоматически, установите для свойства $ timestamps вашей модели значение false:

class Post extends Model
{
    /**
     * Indicates if the model should be timestamped.
     *
     * @var bool
     */
    public $timestamps = false;
}

Чтобы удалить столбец fake_uid, отредактируйте файл fields.yaml, связанный с внутренней формой, котораяВы используете и удалите / измените имя этого поля.

...