Je construis mon première application Laravel. C'est mon premier problème que je ne peux pas surmonter.
J'ai essayé de parler de Google à ce sujet, mais je n'ai pas pu trouver quelque chose qui pourrait m'aider. p> Je veux passer à travers cela et mettre à jour EDIT FORT> P> $ Données code>. p> public function profile() {
return $this->hasOne(Profile::class);
}
public function posts(){
return $this->hasMany(Post::class)->orderBy('created_at', 'DESC');
}
4 Réponses :
Essayez ceci:
optional($user->profile)->update($data);
Je pense que vous ne pouvez pas mettre à jour directement sur une instance, vous devez faire: utilisateur :: Où ('user_id', $ utilisateur-> id); code>
Si vous souhaitez "mettre à jour" une instance, vous devriez faire: $ utilisateur-> description = $ données ['description']; code> $ utilisateur-> sauvegarder (); Code> p>
Ou dans votre cas, avec une relation de profil, essayez $ user-> profil () -> mise à jour ($ données);
Faites ceci: p>
J'espère que cela vous aidera. P> si ($ utilisateur-> profil) {
$ utilisateur-> profil () -> mise à jour ($ données);
} code> p>
Je voudrais imaginer ceci est parce que l'utilisateur n'a pas de profil code> par défaut par défaut.
Une façon de contourner cela consiste à utiliser withDefault () sur votre Profil code> relation dans votre utilisateur code> Modèle EG P> $user->profile->fill($data)->save();
L'utilisateur a-t-il un profil? Pouvez-vous publier votre modèle d'utilisateur?
DD ($ données); code> obtenez-vous des données?Utilisez
$ utilisateur-> update ($ données); code> ?? Pourquoi profiler ??YEP im obtenir des données sur dd ($ données)
Dans votre question .... afin que nous puissions le lire
Pourquoi faites-vous
chy code> sur unhasone code>?Vous devrez peut-être vous assurer que l'utilisateur a un profil avant de la mettre à jour. On dirait qu'il n'y a pas de profil attaché.
Je ne peux pas utiliser $ user-> update ($ données); faire valoir que l'utilisateur n'a pas de description de la description, le profil l'a