【发布时间】:2017-03-20 23:10:42
【问题描述】:
我目前遇到以下问题:我正在尝试为我的应用实施分类系统。因此,我需要大约 100-200 个类别和一些“父类别”。所以我想创建两个表:Category,Subcategory。类别表保存父类别,子类别是它们的子类别,指向父类别的主键。这就是我对类别的意思:
父类:服装
子类别:女鞋
子类别:男士衬衫
子类别:牛仔裤
父类:Handys
子类别:智能手机
子类别:PDA
子类别:智能手表
等等。
我尝试的是这样的:
$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();
这样就没有报错了,但是每一个父类都有每一个子类,所以我就不找子类parents了。
我怎样才能得到我想要的?
【问题讨论】:
标签: php arrays database laravel eloquent