Nyheter

Modèle existent

Comment vérifier l`existence du modèle en DB? Dans YII 1 version il était si utilisateur:: Model ()-> exister () quand je ne $user-> existe () si l`utilisateur n`existe pas, il retourne false. Comme si je ne $user-> existe. appliquera la Convention user_id = User.ID, à condition que l`utilisateur soit une association (par exemple belongs_to: User). Il existe? méthode ne fera pas la même chose. Vous devez spécifier explicitement le nom et la valeur de la clé étrangère, c`est-à-dire: filtre supplémentaire à appliquer à la requête de base de données utilisée pour vérifier l`existence de la valeur d`attribut. Il peut s`agir d`une chaîne ou d`un tableau représentant la condition de requête supplémentaire (voir yiidbQuery:: Where () sur le format de la condition de requête) ou d`une fonction anonyme avec la fonction de signature ($query), où $query est l`objet de requête que vous pouvez modifier dans le Fonction. Comme notre collègue Bengt Halvorson rapporte à car and Driver, le modèle de base Tesla est maintenant censé commencer les livraisons en “fin 2018”, selon le constructeur automobile. Il ne semble pas comme une priorité absolue, soit: le double moteur à traction intégrale modèle 3, un modèle de prime, viendra à la mi-2018, mois avant la version la moins chère, Tesla dit. Il n`existe aucune dynamique? méthodes analogues aux Finders dynamiques, ce qui signifie que même si vous pouvez le faire: vous pouvez également trouver des situations dans lesquelles vous souhaitez mettre à jour un modèle existant ou créer un nouveau modèle si aucun n`existe. Laravel fournit une méthode updateOrCreate pour ce faire en une seule étape.

Comme le firstOrCreate méthode, updateOrCreate persiste le modèle, il n`est donc pas nécessaire d`appeler Save (): le nom de la ActiveRecord classe qui doit être utilisé pour valider l`existence de la valeur d`attribut actuelle. S`il n`est pas défini, il utilisera la classe ActiveRecord de l`attribut en cours de validation. S`il vous plaît noter qu`il existe? ne tient pas toutes les conventions de trouver, c.-à-d. vous ne pouvez pas faire: la méthode d`actualisation réhydrate le modèle existant à l`aide de données fraîches de la base de données. En outre, toutes ses relations chargées seront également actualisées: cette commande placera le nouvel observateur dans votre répertoire App/observateurs. Si ce répertoire n`existe pas, artisan le créera pour vous. Votre nouvel observateur ressembla à ce qui suit: vous pouvez actualiser les modèles à l`aide des méthodes Fresh et Refresh.