Comment passer des arguments à Laravel usines?
J'ai un users
table et un un-à-zéro/une relation avec un businesses
table (les utilisateurs.user_id => entreprises.user_id). Sur mon users
table, j'ai un discriminateur qui m'indique si l'utilisateur est de type entreprise et, par conséquent j'ai besoin d'avoir des précisions sur la businesses
table.
Je veux créer mes Utilisateurs avec mon usine qui est actuellement de travail et ensuite seulement de créer les détails d'affaires où le régulateur de points à un compte d'affaires.
J'ai trois options dans mon esprit:
- Créer des utilisateurs d'usine et ensuite à l'aide d' '-> ()' faire quelques vérifications sur le discriminateur et de créer une nouvelle entreprise de l'utilisateur à l'aide d'une usine. Cependant je ne peux pas passer à l'activité de l'usine de la
user_id
que l'utilisateur a été attribué. - D'abord créer les utilisateurs. Ensuite, dans mon Entreprise, semoir, récupérer tous les Utilisateurs qui correspondent à un "business" discriminateur. Alors pour tous ces utilisateurs d'exécuter une usine qui crée l'entreprise de détails. Mais encore une fois, je voudrais avoir un lien en quelque sorte le
user_id
de la déjà créer un utilisateur avec l'activité de l'usineuser_id
. - Dans mon entreprise de l'usine, de créer un nouvel Utilisateur et de récupérer l'identifiant, faisant ainsi le lien entre
users.user_id
etbusiness.user_id
. Cependant, je suis à l'aide d'un générateur aléatoire pouruser.user_type
donc, même si j'ai l'businesses
tableau rempli, il peut être pour les utilisateurs qui ont le discriminateur comme "personnels".
Est-il une autre voie? Puis-je passer des arguments à partir de mon Semoir à l'usine?
OriginalL'auteur Cristian | 2015-09-03
Vous devez vous connecter pour publier un commentaire.
Les attributs que vous passez à la
create
fonction sera passé dans votre définition du modèle de rappel comme deuxième argument.Dans votre cas, vous n'avez même pas besoin d'accéder à ces attributs, puisqu'ils seront automatiquement regroupées dans:
Adapte à vos besoins.
lien semble dépassée aujourd'hui, pour 5,4 voir laravel.com/docs/5.4/database-testing#using-factories & faites défiler jusqu'à " la Persistance de Modèles
que penser de la sorte?
php $student->assignRole('student');
im en utilisant spatie/permissionque faire si je ne veux pas fusionner? que faire si je veux utiliser les paramètres personnalisés pour modéliser les usines?
Si vous voulez des paramètres personnalisés, pourquoi êtes-vous en utilisant les usines? Il suffit de créer le modèle:
User::create($attributes)
OriginalL'auteur Joseph Silber