任何人都可以详细告诉我如何去扩展Illuminate \ Database \ Schema以添加一个zerofill函数,并修改当前的整数函数以获取长度参数,而不是实际上修改任何供应商文件。扩展架构生成器
谢谢。
编辑:或者有没有办法用架构生成器手动添加列,我只是失去了沉重的星期五下午头的原因?
编辑:去与方法,通过加雷思奥克利的建议通过增加DB ::声明()调用之后架构::创建():
<?php
class CreateExamplesTable extends Migration {
public function up()
{
Schema::create('examples', function(Blueprint $table)
{
$table->engine = 'InnoDB';
$table->increments('id')->unsigned();
$table->integer('account_id')->unsigned();
$table->string('card_id', 20)->nullable();
$table->boolean('active')->default(true);
$table->timestamps();
$table->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade')->onUpdate('cascade');
});
DB::statement('ALTER TABLE examples ADD invoice_id INT(6) UNSIGNED ZEROFILL NOT NULL AFTER card_id');
}
public function down()
{
Schema::drop('examples');
}
}
Laravel不提供此功能。你可以选择一个小整数/整数/大整数类型 - 获得最适合的一个。 Personaly我不会在数据库端使用zerofill。我会在应用程序端格式化输出。 – Andreyco
我已经在下面发布了一个答案 - 但同意。我通常会留下任何与数据如何在数据库之外呈现并将其放入我的视图中相关的东西。你可以使用'str_pad' - http://php.net/manual/en/function.str-pad.php –