マイDatabaseSeederはこのようなものです:データベースを使用して、あるテーブルから別のテーブルにデータをインポートする方法:シード? (ラベール5.3)?
<?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テーブルから
名のデータを挿入akunsテーブルからデータをcode_shoppingテーブルmaster_lookupsのフィールド名に
を挿入jsonの形式でテーブルmaster_lookupsのフィールド情報に挿入します。フィールド情報のデータ型はjsonです。
私を助けることができる人はいますか?
テーブルakunsからすべてのアイテムを取得し、クロージャの本体としてターゲットテーブルに挿入するだけでループしますか? $ masterLookup-> code = $ akun-> code; $ masterLookup-> save()} 行数に応じて、Akun :: all() - > each(function($ akun)あなたはあなたのテーブルに、あなたがメモリが足りなくなるのを防ぐために、すべてではなくチャンクを使いたいかもしれません。 –