Как определить свойство zerofill и размер (2) при миграции схемы поля с помощью Laravel?
Schema::create('books', function (Blueprint $table) { $table->integer('reference')->length(2); });
и это поле с нулефилом.
Я бы хотел использовать мою сеялку:
public function run() { Book::create ([ 'reference' => 01 ]); }
Zerofill не является стандартом SQL. Создатель shema laravel предоставляет только эти стандарты ANSI SQL.
Но вы можете использовать обходной путь, чтобы определить его с помощью инструкции raw sql:
create_books.php
Schema::create('books', function (Blueprint $table) { $table->integer('reference'); }); DB::statement('ALTER TABLE books CHANGE reference reference INT(2) UNSIGNED ZEROFILL NOT NULL');
Как уже упоминалось, чтобы переносить перенос переносимых файлов, вы хотите использовать его для доступа. Это будет выглядеть примерно так:
Модель Book.php
public function getReferenceAttribute($value) { if($value){ return str_pad($value, 2, '0', STR_PAD_LEFT); }else{ return null; } }