php - How do I update user profile? Laravel-5 -


just want start saying have no clue i'm doing... have user_info table looks

    schema::create('user_info', function(blueprint $table){         $table->increments('id');         $table->unsignedinteger('user_id');         $table->foreign('user_id')->references('id')->on('users')->ondelete('cascade')->onupdate('cascade');         $table->string('address');         $table->string('city');         $table->string('state');         $table->string('zip');         $table->text('description');         $table->text('experience');         $table->timestamps();     });    

i'm having trouble creating update controller looks right now.

public function update(request $request) {    $user = $request->user();   $data['description'] = $request->input('description');   $data['experience']=$request->input('experience');    $user->user_info -> $data->save(); } 

again...no clue i'm doing...

and form:

    <div class='col-md-10 form-well'>         {!! form::open(['method' => 'patch', 'action'=> ['usercontroller@update', request::user()->id]]) !!}         <div class='row'>                 <div class='form-group'>                     <div class='col-md-2'>                         {!! form::label('description', 'about you')!!}                     </div>                     <div class='col-md-7'>                         {!! form::textarea('description', null, ['class'=>'form-control', 'rows'=>'3'])!!}                     </div>                 </div>         </div>         <div class='row'>                 <div class='form-group'>                     <div class='col-md-2'>                         {!! form::label('experience', 'experience , skills')!!}                     </div>                     <div class='col-md-7'>                         {!! form::text('experience', null, ['class'=>'form-control'])!!}                     </div>                 </div>         </div>         <div class='form-group'>                         {!! form::submit('save changes',['class'=> 'btn btn-md btn-success']) !!}             {!! form::close()!!}     </div> 

update: able update this:

$user->user_info->description = $data['description'];   $user->user_info->experience = $data['experience'];   $user->user_info->save(); 

but there way can :

$user->user_info->$request::input::all(); $user->user_info->save(); 

try this:

public function update(request $request, $id) {   $user = user::with('user_info')->find($id);   if(!$user) {     return response('user not found', 404);   }    $userinfo = $user->user_info;   if(!$userinfo) {     $userinfo = new userinfo();     $userinfo->user_id = $id;     $userinfo->save();   }    try {     $values = input::only($userinfo->getfillable());     $userinfo->update($values);   } catch(exception $ex) {     return response($ex->getmessage(), 400);   } } 

also in userinfo model add this:

protected $fillable = array('description', 'experience'); public function getfillable() {   return $this->fillable; } 

Comments