0
votes

Appelez à une mise à jour de la fonction membre () sur NULL

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> xxx pré>

Je veux passer à travers cela et mettre à jour $ Données code>. p>

EDIT FORT> P>

public function profile() { 
    return $this->hasOne(Profile::class); 
} 

public function posts(){ 
    return $this->hasMany(Post::class)->orderBy('created_at', 'DESC'); 
}


8 commentaires

L'utilisateur a-t-il un profil? Pouvez-vous publier votre modèle d'utilisateur?


DD ($ données); obtenez-vous des données?


Utilisez $ utilisateur-> update ($ données); ?? 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 sur un hasone ?


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


4 Réponses :


0
votes

Essayez ceci:

optional($user->profile)->update($data);


0 commentaires

0
votes

Je pense que vous ne pouvez pas mettre à jour directement sur une instance, vous devez faire: utilisateur :: Où ('user_id', $ utilisateur-> id); Si vous souhaitez "mettre à jour" une instance, vous devriez faire: $ utilisateur-> description = $ données ['description']; $ utilisateur-> sauvegarder ();


1 commentaires

Ou dans votre cas, avec une relation de profil, essayez $ user-> profil () -> mise à jour ($ données);



0
votes

Faites ceci:

si ($ utilisateur-> profil) { $ utilisateur-> profil () -> mise à jour ($ données); }

J'espère que cela vous aidera.


0 commentaires

0
votes

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();


0 commentaires