55 lines
1.5 KiB
PHP
55 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use App\Models\Keyword;
|
|
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
|
use Illuminate\Database\Seeder;
|
|
use Illuminate\Support\Arr;
|
|
|
|
class KeywordSeeder extends Seeder
|
|
{
|
|
use WithoutModelEvents;
|
|
|
|
/**
|
|
* Run the database seeds.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function run()
|
|
{
|
|
Keyword::truncate();
|
|
$list = [
|
|
['key' => 'device-factory', 'name' => '厂家', 'list' => [
|
|
['name' => 'LINK-OS', 'key'=>'link-os']
|
|
]],
|
|
['key' => 'device-group', 'name' => '设备组', 'list' => [
|
|
['name' => '农机', 'key'=>'machinery']
|
|
]],
|
|
];
|
|
|
|
foreach ($list as $item) {
|
|
$type = Keyword::create(Arr::except($item, 'list'));
|
|
|
|
if (isset($item['list'])) {
|
|
$keywords = [];
|
|
foreach ($item['list'] as $index => $name) {
|
|
$template = [
|
|
'key' => $type->key . ($index + 1),
|
|
'type_key' => $type->key,
|
|
'level' => $type->level + 1,
|
|
'sort' => $index + 1
|
|
];
|
|
if (is_array($name)) {
|
|
$template = array_merge($template, $name);
|
|
} else {
|
|
$template['name'] = $name;
|
|
}
|
|
array_push($keywords, $template);
|
|
}
|
|
$type->children()->createMany($keywords);
|
|
}
|
|
}
|
|
}
|
|
}
|