2016-12-13 4 views
1

簡単な質問:Laravel Backpacker CRUD管理者に保存する前にリクエスト値を変更(ハッシュ)するにはどうすればよいですか?Laravel Backpackerで保存する前のハッシュパスワード

これらのメソッドはCRUDコントローラで実行される前に、私の知る限り理解し、それがどこかで行われる必要があります:

public function store(StoreRequest $request) 
{ 
    return parent::storeCrud(); 
} 

public function update(UpdateRequest $request) 
{ 
    return parent::updateCrud(); 
} 

が、私はそれを正しく行うにはどのようには考えています。

編集:要求はRequestオブジェクトではなく、StoreRequestまたはUpdateRequestこのようなものに見えるよう: enter image description here

を修正:

public function update(UpdateRequest $request) 
{ 
    // Hash password before save 
    if (!empty($request->password)) { 
     $request->offsetSet('password', Hash::make($request->password)); 
    } 

    return parent::updateCrud($request); // <-- Pass the modified request, otherwise the CRUD reads it again from post data 
} 

答えて

1

あなたはoffsetSet方法

$request->offsetSet('name', $newName); 

編集使用して$要求値を更新することができます。をユーザーのパスワードを更新するには、次のようにします。

public function update_password(Request $request) 
{ 
    $user = User::find(Auth::user()->id); 

    if (Hash::check($request->old_password, $user->password)) { 
     $user->fill([ 
      'password' => Hash::make($request->password) 
     ])->update(); 

     return redirect()->back()->with('message' => 'Your password has been updated.'); 
    } 
    else { 
     return redirect()->back()->with('message' => 'The password entered do not match our records.'); 
    } 
} 

私はコードをチェックしませんでしたが、うまくいくはずです。今すぐあなたのニーズに合わせて更新してください。

+0

これは有望ですが、現在の値はどうやって取得できますか? '$ request-> offsetSet( 'password'、Hash :: make($ request_value))'が必要です。 – Peon

+0

あなたはユーザーのパスワードを更新しようとしていると思います。そうですか? –

+0

はい、正しいです。保存する前にパスワードをハッシュする必要があります – Peon

1

あなたがしている場合$request変数のデータを変更する方法について質問すると、これを行うことができます:

$request->property = 'New value'; 

また、あなたが(ない変数に)自分自身をreuqestにデータを追加することができます

request()->request->add(['key' => 'value']); 
+0

これは通常のLaravelリクエストではありません。異なるように見えるのは 'StoreRequest'または 'UpdateRequest'オブジェクトです。私はすぐに質問を更新します。 – Peon

+0

答えからコードを試しましたか? –

+1

申し訳ありませんが、私はそのオプションを確認してもうまくいかなかったと確信していました。今は馬鹿だと感じる。ありがとうございました。 – Peon

関連する問題