Ich versuche, verwandte Modelle während der Datenbank-Seeding in Laravel 4 zu assoziieren. Nach der Dokumentation here kann ich es so tun:Laravel "undefined Methode Illuminate Datenbank Query Builder :: attach()"
$user->roles()->attach(1);
Also, in meiner Datenbank Samen ich bin mit:
$package = Package::create([
'name' => $faker->word,
'summary' => $faker->sentence,
'base_price' => $faker->randomFloat(2, 200, 10000)
]);
// Attach 1-5 randomly selected items to this package
foreach(range(1, 5) as $index)
{
$randomItem = Item::orderBy(DB::raw('RAND()'))->first();
$package->items()->attach($randomItem->id);
}
Die Pakete Produkte haben bereits an dieser Stelle ausgesät worden, und sie ohne Probleme Saatgut. Der obige Code gibt dies von Artisan aber:
[BadMethodCallException]
Call to undefined method Illuminate\Database\Query\Builder::attach()
Jemand here scheint zu denken, dass die attach()
Methode existiert nicht wirklich und die Dokumentation ist falsch, aber ich finde, dass schwer zu glauben.
TL; DR Wie lautet die richtige Methode zum Erstellen von Viele-zu-Viele-Beziehungen in Eloquent?
Sie haben uns den Code in Ihrer 'items()' Methode nicht gezeigt. –