Laravel “undefined method Éclairer\Database\Query\Builder::attach()”
J'essaie d'associer des modèles liés au cours de l'amorçage de base de données dans Laravel 4. Selon la documentation de ici, je peux faire comme ceci:
$user->roles()->attach(1);
Donc, dans ma base de données de la graine, je suis en cours d'exécution:
$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);
}
Les paquets éléments ont déjà été ensemencées à ce point, et ils semences sans problèmes. Le code ci-dessus donne à cet Artisan de bien:
[BadMethodCallException]
Call to undefined method Illuminate\Database\Query\Builder::attach()
Quelqu'un ici semble penser que le attach()
méthode n'existe pas réellement et que les documents sont faux, mais je trouve cela difficile à croire.
TL;DR Quelle est la bonne façon de créer plusieurs-à-plusieurs liens dans Éloquent?
- Vous n'avez pas de nous montrer le code dans votre
items()
méthode.
Vous devez vous connecter pour publier un commentaire.
La fonction
items()
dans votre Paquet modèle doit retourner un BelongsToMany relation dans le but d'utiliser attach().