Je construis un système d'authentification à Laravel où un utilisateur peut avoir des rôles différents. J'ai trois tables. Je veux semer mes tables: p> < Pré> xxx pré> à ma question: Comment puis-je semer la table de rôle_utilisateur? Ai-je besoin d'un modèle pour ça? Avec l'utilisateur et le tableau de rôle, j'ai l'utilisateur et le rôle de modèle. P> L'échec Je reçois lorsque j'essaye que la graine est la suivante: p> utilisateurs code>, rôles code>, role_user code> et
3 Réponses :
C'est dans le message d'erreur. alors que vous avez: p> Qu'est-ce que vous 'RE RECHERCHE est le Plus d'informations peut être trouvé dans la section Docs En ce qui concerne la suppression record . p> p> schéma :: Table () code> attend quelque chose comme ceci: dB :: Table ("Rôles') -> Supprimer () Code> ou DB :: Table (" Rôles ') -> Truncate () Code> Fonction : p>
Ceci est une erreur. Supprimer () CODE> tronque les valeurs de la table, ce qui veut que l'OP veut. goutte () code> et drapifexists () code> supprime la table réelle toutes ensemble. Il n'y aura plus de rôles code> la table code> plus après cette commande. Et Supprimer () code> est séparé de la classe dB code> de toute façon, pas schéma code> (voir ma réponse).
Point juste, je supposais qu'il essayait de supprimer la table pour une raison quelconque. Mettra à jour.
Deux problèmes avec votre code. Tout d'abord, votre erreur est dû à celle-ci:
// Create the role
$superadmin = Role::create(array(
'role' => 'Superadmin'
));
// Create the user
$user = User::create(array(
'name' => 'John',
'surname' => 'Svensson',
'username' => 'John_superadmin',
'email' => 'john.svensson@gmail.com',
'password' => Hash::make('1234'),
));
// Assign roles using one of several methods:
// Syncing
$user->roles()->sync([$superadmin->id]);
// or attaching
$user->roles()->attach($superadmin->id);
// or save
$user->roles()->save($superadmin);
Vous avez raison. Depuis sa table juste je pivot, je suppose que je n'ai pas besoin d'un modèle pour cela? Et je suppose que je ne devrais spécifier que la relation d'appartenance de l'appartenance dans le modèle utilisateur.
Vous n'avez pas besoin d'un modèle pour une table pivot. Si vous souhaitez que les utilisateurs aient plus d'un rôle, collez-vous avec la table pivot et récupérez-vous du fichier code> sur la table d'utilisateurs.
«Role_id dans votre table d'utilisateurs dans une relation unique, pas une seule à plusieurs, comme la table de pivot», avez-vous voulu dire plusieurs-à-plusieurs?
Vous devez corriger Cependant, le moyen le plus facile et le plus performant de la table de pivotement est quelque chose comme ceci: p> schéma :: Table Code> à DB :: Table Code>, comme déjà suggéré.