gpt4 book ai didi

php - Laravel - 类别的种子数据

转载 作者:搜寻专家 更新时间:2023-10-30 22:33:39 24 4
gpt4 key购买 nike

我目前遇到以下问题:我正在尝试为我的应用实现分类系统。因此,我需要大约 100-200 个类别和一些“父类别”。所以我想创建两个表:类别、子类别。类别表保存父类别,子类别是那些子类别,指向父类别的主键。这就是我对类别的意思:

父类别:服装

子类别:女鞋

子类别:男士衬衫

子类别:牛仔裤

父类别:Handys

子类别:智能手机

子类别:PDA

子类别:智能 watch

等等。

我试过的是这样的:

 $categories = array(['name' => 'Clothing'], ['name' => 'Handy']);
$sub_categories = array(
'Clothing' => ['name' => ' Woman Shoes '], ['name' => 'Men\'s Shirts'],
'Handy' => ['name' => ' Smartphones '], ['name' => 'Smartwatches ']
);


foreach($categories as $category)
{
$category = Category::create($category);
foreach ($sub_categories as $sub_category)
{
$active = $sub_category[$category->name];
$active['parent_id'] = $categories->id;
SubCategory::create($active);
}
}

但我收到错误(播种时)index undefined: clothing,猜测是因为那部分:$sub_category[$category->name]; ... 但是我怎样才能做得更好呢?或者我怎样才能让它工作?

我也尝试过(在内部 foreach 中):

 $subcategory = new Subcategory();
$subcategory->name = $sub_category['name'];
$subcategory->parent_id = $category['id'];
$subcategory->save();

这样,没有错误,但是每个父类别都有每个子类别,所以我不查找子类别父。

我怎样才能得到我想要的?

最佳答案

我已经测试过了,它工作正常:

$data = [
'Clothing' => ['Woman Shoes', 'Men\'s Shirts'],
'Handy' => ['Smartphones', 'Smartwatches ']
];

foreach ($data as $category => $subCategories)
{
$id = Category::create(['name' => $category])->id;

foreach ($subCategories as $subCategory) {
SubCategory::create([
'parent_id' => $id,
'name' => $subCategory
]);
}
}

不要忘记将所有字段添加到 $fillable,因为您正在使用 create() 方法。

关于php - Laravel - 类别的种子数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40468046/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com