2016-07-10 5 views
0

안녕하세요 여러분,이 양식을 업데이트하려고합니다. users table을 업데이트하지만, laravel에서 수행하는 방법을 잘 모르겠습니다. 여기 내 양식양식 laravel 5.1에서 테이블을 업데이트하는 방법

<form method="POST" action="/profile/update"> 
    <div class="form-group hidden"> 
     <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
     <input type="hidden" name="id" value="<?php echo $user->id;?>"> 
     <input type="hidden" name="_method" value="PATCH"> 
    </div> 
    <div class="form-group"> 
     <label for="email"><b>Name:</b></label> 
     <input type="text" name="name" placeholder="Please enter your email here" class="form-control" value="<?php echo $user->name;?>"/> 
    </div> 
    <div class="form-group"> 
     <label for="email"><b>Email:</b></label> 
     <input type="text" name="email" placeholder="Please enter your email here" class="form-control" value="<?php echo $user->email;?>"/> 
    </div> 
    <div class="form-group"> 
     <button type="submit" class="btn btn-default"> Submit </button> 
    </div> 
</form> 

입니다 것은 여기 내 컨트롤러

<?php 

namespace App\Http\Controllers; 

use Auth; 
use App\User; 
use Illuminate\Http\Request; 

use App\Http\Controllers\Controller; 

class ProfileController extends Controller 
{ 
    /** 
    * Update user profile & make backend push to DB 
    **/ 

    public function index() { 

     // connecting to the DB and accessing 
     $user = Auth::user(); 
     //var_dump($user); 
     return view('profile', compact('user')); 

    } 

    public function update(Request $request) { 

     $request->only('name','email'); 
     return back(); 
    } 
} 

update method 입력을 처리하지만, 여기에 무엇을 할 수 있는지 확실하지 메신저 것이다. 모든 도움

답변

0

우선에 대한

감사합니다 : 나는 echo$user의 속성을 보내고 권하고 싶지 않다. 블레이드 구문을 사용하십시오 (예 : {{ $user->id }}. 보안을 위해 Laravel Blade은이 구문을 사용할 때 값을 이스케이프합니다.

모델 생성에 대한 자세한 내용은 Laravel documentation on inserting & creating models을 확인하십시오.

public function update(Request $request) { 

    $input = $request->only('name','email'); 

    $user = Auth::user(); // Fetch the user model 

    // Update the fields 
    $user->name = $input['name']; 
    $user->email = $input['email']; 

    // Save changes 
    $user->save(); 

    return back(); 
} 
+0

그래서 내가이 똑바로하자 :

기본적 싶은 것은이의 라인을 따라 무언가이다. 모범 사례에 대해이 모든 데이터를 모델로 전달하겠습니까? –

+0

일반적으로 [컨트롤러 메소드 자체] (https://laravel.com/docs/5.1/validation#quick-writing-the-validation-logic) 또는 [양식 요청 유효성 검사] (https : //laravel.com/docs/5.1/validation#form-request-validation). 몇 가지 방법이 있지만 레코드 업데이트에 대해서는 [이 비디오를 확인하십시오] (https://laracasts.com/series/laravel-5-from-scratch/episodes/10)를 참조하십시오. – Joseph

관련 문제