【发布时间】:2014-09-16 07:03:03
【问题描述】:
我正在尝试通过 Faker、NeoEloquent 和 Eloquent 的 Seeder 类播种 neo4j 数据库(第一次)。它生产一家零售商、两家公司、一些产品,然后将它们联系在一起。
关系
Retailer -> Many-Many -> Product
Retailer -> One-Many -> Company
Company -> One-Many -> Product
代码
public function run()
{
Eloquent::unguard();
$faker = Faker\Factory::create();
// Retailer
Retailer::createWith([
[
'name' => $faker->company
],
[
'companies' =>
[
[
'company_id' => $faker->randomNumber(8),
'name' => $faker->company, 'active' => 1
],
[
'company_id' => $faker->randomNumber(8),
'name' => $faker->company, 'active' => 1
]
]
]
]);
// Products
for ($i = 1; $i < 3; $i++)
{
for ($j = 1; $j < $faker->numberBetween(1,3); $j++)
{
$product = Product::create([
'product_id' => $faker->randomNumber(8),
'name' => $faker->name,
'active' => '1',
'time_added' => $faker->date,
'price' => $faker->numberBetween(1,999),
]);
$retailer = Retailer::find(1);
$retailer->products()->save($product); // error here
$company = Company::find($i);
$company->products()->save($product);
}
}
}
错误
{"error":
{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException",
"message":"Call to undefined method Illuminate\\Database\\Eloquent\\Collection::products()",
"file":"D:\\Swaggable\\Laravel\\app\\database\\seeds\\DatabaseSeeder.php",
"line":62}}
我完全不知道如何解决它......
【问题讨论】: