我正在为Laravel创建一个自定义包,需要从数据库中获取一些默认数据(大小格式,质量,价格范围)才能工作。
Laravel应用程序应该可以编辑数据(例如:价格变化),因此需要由程序包共享。因此,我为包需要使用的表创建了一些迁移,但是提供填充表的默认数据的最佳方法是什么?
答案 0 :(得分:1)
将迁移中的默认值的种子代码放在我身上,例如:
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateVocabulariesTable extends Migration
{
public function up()
{
Schema::create('vocabularies', function (Blueprint $table) {
$table->increments('id');
$table->string('name', 100)->nullable();
$table->dateTime('created_at')->nullable();
$table->dateTime('updated_at')->nullable();
$table->softDeletes();
});
$records = [['id' => 1, 'name' => 'category'], ['id' => 2, 'name' => 'tag']];
foreach ($records as $record)
\App\Models\Vocabulary::create($record);
}
public function down()
{
if (Schema::hasTable('vocabularies')){
Schema::drop('vocabularies');
}
}
}
答案 1 :(得分:0)
Laravel提供了在您使用迁移时使用的种子http://laravel.com/docs/5.1/seeding。