Lorsque je clique sur le bouton Modifier, j'essaie d'apporter des données de deux tables et de les mettre à jour ensemble. L'une est la table des utilisateurs et autre sur la table de détail de l'utilisateur. Lorsque je mettez à jour les informations, la table des utilisateurs est mise à jour mais la table user_detail ne se met pas à jour en créant une nouvelle ligne. Comment résoudre ce problème?
Le même code fonctionne pour une table alors qu'il ne fonctionne pas pour l'autre. p>
Ceci est ma fonction de mise à jour. P>
public function update(Request $request, $id)
{
// $this->validate($request,[
// 'title'=>'required',
// 'body'=>'required',
// ]);
//$user=new User;
$user = User::find($id);
$user->student_no=$request->input('student_no');
$user->email=$request->input('email');
$user->save();
$user_detail=new Profile;
$user_detail = Profile::find($id);
$user_detail->student_no=$request->input('student_no');
$user_detail->profile_pic=$request->input('CID');
$user_detail->CID=$request->input('CID');
$user_detail->DOB=$request->input('DOB');
$user_detail->mobile_no=$request->input('mobile_no');
$user_detail->joining_year=$request->input('joining_year');
$user_detail->graduation_year=$request->input('graduation_year');
$user_detail->program_id=$request->input('programe_id');
$user_detail->work_experience=$request->input('work_experience');
$user_detail->save();
return redirect('/dashboard')->with('success','Post Updated');
5 Réponses :
Supprimer la ligne,
public function update(Request $request, $id)
{
// $this->validate($request,[
// 'title'=>'required',
// 'body'=>'required',
// ]);
//$user=new User;
$user = User::find($id);
$user->student_no=$request->input('student_no');
$user->email=$request->input('email');
$user->save();
$user_detail = Profile::where('user_id','=',$id)->first();
$user_detail->student_no=$request->input('student_no');
$user_detail->profile_pic=$request->input('CID');
$user_detail->CID=$request->input('CID');
$user_detail->DOB=$request->input('DOB');
$user_detail->mobile_no=$request->input('mobile_no');
$user_detail->joining_year=$request->input('joining_year');
$user_detail->graduation_year=$request->input('graduation_year');
$user_detail->program_id=$request->input('programe_id');
$user_detail->work_experience=$request->input('work_experience');
$user_detail->save();
return redirect('/dashboard')->with('success','Post Updated');
@Dilusha_dasanyaka merci beaucoup. Cela a fonctionné parfaitement. J'avais un autre doute. Si tu pouvais m'aider?
$ user_detail = nouveau profil; code> li>
- Utilisez des relations pour mettre à jour les détails de l'utilisateur. LI>
- Lire environ
$ Demande-> Tous () code> et Assignement de masse code> à Laravel. Li>
- Créez la validation de formulaire dans des fichiers séparés. LI>
ol>
$ user_detail = profil :: trouver ($ id); Dans cette ligne, vous vérifiez les données de profil avec la clé principale de la table de profilé qui pourrait n'exister peut-être pas
vous pouvez essayer avec p>
Vous devez supprimer la ligne $ user_detail = nouveau profil; code>
et mettre à jour la ligne $ user_detail = profil :: Rechercher ($ ID); code> comme suivant $user_detail = Profile::where('user_id',$id)->first()
Il y a deux trois choses avec votre requête.
$user_detail=new Profile; $user_detail = Profile::find($id);
Quelle valeur l'appel sur "Enregistrer" le retour pour le profil? Cela peut être échoué sans erreur.
dd ($ user_detail) après cette ligne $ user_detail = profil :: Recherche ($ id);