我的DatabaseSeeder是这样的:
<?php
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
class DatabaseSeeder extends Seeder
{
public function run()
{
Model::unguard();
$this->call('MasterLookupsTableSeeder')
}
}
我的MasterLookupsTableSeeder是这样的:
<?php
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
class MasterLookupsTableSeeder extends Seeder
{
public function run()
{
DB::table('master_lookups')->insert([
'id' => '17',
'code' => '002',
'name' => 'sample data',
'information' => NULL,
'created_at' => date('Y-m-d H:i:s'),
'updated_at' => date('Y-m-d H:i:s')
]);
}
}
当我运行php artisan db:seed --class=MasterLookupsTableSeeder
时,它将插入到表master_lookups中。它仍然是静态的。我想创建一个动态,其中数据插入到从另一个表中获取的master_lookups表中,例如akuns表。 akuns表有字段id,代码,名称,code_shopping。
我想这样:
来自akuns表的代码数据插入到表master_lookups
中的字段代码中将来自akuns表的数据插入表master_lookups
中的字段名称来自akuns表的code_shopping数据以json的形式插入表master_lookups中的字段信息。字段信息的数据类型是json。
有没有人可以帮助我?
答案 0 :(得分:1)
让我们假设您的akun表附有Akun模型。 我们对master_lookups(MasterLookup)假设相同的事情。
您可以尝试以下内容:
@ 8 jdk.internal.misc.Unsafe::getAndAddInt (27 bytes) (intrinsic)
@ 3 jdk.internal.misc.Unsafe::getIntVolatile (0 bytes) (intrinsic)
@ 18 jdk.internal.misc.Unsafe::weakCompareAndSwapIntVolatile (11 bytes) (intrinsic)
@ 7 jdk.internal.misc.Unsafe::compareAndSwapInt (0 bytes) (intrinsic)
@ 8 jdk.internal.misc.Unsafe::getAndAddInt (27 bytes) (intrinsic)
根据您拥有的行数,您可能希望使用Akun::all()->each(function($akun) {
$masterLookup = new MasterLookup;
$masterLookup->code = $akun->code;
$masterLookup->name = $akun->name;
$masterLookup->save()
}
方法而不是chunk
来避免在尝试抓取所有项目时内存不足。