laravel 如何使用数组为现有数据库做种?
In laravel how to seed existing databse using array?
我想在我的应用程序中植入现有数据库。
这是包含数据的数据库:
我在播种机中制作了数组,现在我想用一个循环将这些值分配给我的字段;
This is migration:
public function up()
{
Schema::create('products', function (Blueprint $table) {
$table->char('maker');
$table->integer('model')->unique();
$table->string('type');
});
}
这是我的播种机,我尝试了一些但它不起作用。它说“未定义的数组键“A””
public function run()
{
$array = ['A', 1232, 'PC',
'A', 1233, 'PC',
'A', 1276, 'Printer',
'A', 1298, 'Laptop',
'A', 1401, 'Printer',
'A', 1408, 'Printer',
'A', 1752, 'Laptop',
'B', 1121, 'PC',
'B', 1750, 'Laptop',
'C', 1321, 'Laptop',
'D', 1288, 'Printer',
'D', 1433, 'Printer',
'E', 1260, 'PC',
'E', 1434, 'Printer',
'E', 2112, 'PC',
'E', 2113, 'PC'
];
foreach ($array as $key => $item){
Product::create([
'maker' => $array[$item],
'model' => $array[$item],
'type' => $array[$item]
]);
}
}
使用此函数插入所有数据
for($i=0;i<size_of($array);$i++){
if(($i%3)==0){
DB::table('products')->insert([
'maker' =>$array[$i],
'model' => $array[$i+1],
'type' => $array[$i+2]
]);
}
}
我想在我的应用程序中植入现有数据库。
这是包含数据的数据库:
我在播种机中制作了数组,现在我想用一个循环将这些值分配给我的字段;
This is migration:
public function up()
{
Schema::create('products', function (Blueprint $table) {
$table->char('maker');
$table->integer('model')->unique();
$table->string('type');
});
}
这是我的播种机,我尝试了一些但它不起作用。它说“未定义的数组键“A””
public function run()
{
$array = ['A', 1232, 'PC',
'A', 1233, 'PC',
'A', 1276, 'Printer',
'A', 1298, 'Laptop',
'A', 1401, 'Printer',
'A', 1408, 'Printer',
'A', 1752, 'Laptop',
'B', 1121, 'PC',
'B', 1750, 'Laptop',
'C', 1321, 'Laptop',
'D', 1288, 'Printer',
'D', 1433, 'Printer',
'E', 1260, 'PC',
'E', 1434, 'Printer',
'E', 2112, 'PC',
'E', 2113, 'PC'
];
foreach ($array as $key => $item){
Product::create([
'maker' => $array[$item],
'model' => $array[$item],
'type' => $array[$item]
]);
}
}
使用此函数插入所有数据
for($i=0;i<size_of($array);$i++){
if(($i%3)==0){
DB::table('products')->insert([
'maker' =>$array[$i],
'model' => $array[$i+1],
'type' => $array[$i+2]
]);
}
}