我正在尝试使用两个外键(分别为category和sub_categories表的category_id和sub_category_id)为Products表创建一个种子器。
Category::all()->each(function ($category) {
SubCategory::all()->each(function ($sub_category) {
$faker = Faker::create();
for($i = 0; $i < 3; $i++) {
DB::table('products')->insert([
'product_name' => $faker->name,
'product_description' => $faker->sentence,
'product_price' => rand(100, 1000),
'product_quantity' => rand(10,100),
'category_id' => $category->id,
'sub_category_id' => $sub_category->id,
]);
}
});
});
尝试过,但返回的错误为我>>
未定义变量:类别
我只能使用sub_category创建播种机,但我也需要创建类别。我应该怎么做?
我正在尝试使用两个外键(分别为category和sub_categories表的category_id和sub_category_id)为Products表创建一个种子器。 Category :: all()->每个(函数($ ...
您正在使用闭包浏览each
模型中的SubCategory
项目。 $category
变量的初始化不在闭包的范围内。为了访问$category
,您需要使用use
关键字使其可用:
您知道,您正在将匿名函数传递给each()
方法。匿名函数无法访问其范围之外的变量。]>
您必须通过这种方式将$category
变量传递给子类别的each()
方法: