2017-08-03 8 views
1

更新方法を更新しません。それは事をしたように。 しかし、dbでは何も変わっていません。ユーザーはLaravel

$uzytkownikこれは、それが正常に動作しないのはなぜ適切な入力

enter image description here

を示しているdd($uzytkownik);

enter image description here

そしてdd($request->birth.'---'.$request->sex.'---'.$request->about);下にある適切なユーザであり、かつ ?

+0

は、モデルでそれらの列が入力可能な作られたことがありますか? –

+1

Sagarが示唆しているように、fillable配列は正しく更新され、メソッドを作成するために埋め込まなければなりません – aaron0207

+0

Laravelのupdate()関数とcreate()関数は、モデルの保存に成功したかどうかを返します。あなたはif()ステートメントで使うことができる便利なブール値を返すsave()関数を使うことができます。 – sunomad

答えて

3

documentation

マス割り当て あたりとして、あなたはまた、単一の行に新しいモデルを保存するために作成する方法を使用することができます。挿入されたモデルインスタンスは、メソッドから返されます。ただし、すべてのEloquentモデルはデフォルトで大量割り当てを防止するため、モデルにfillable属性またはguarded属性を指定する必要があります。あなたが$fillable$guardedを確認する必要があり

が正しく変更は執拗されないことがありそうでない場合は設定されています。

あなたはあまりにもこのようにやりたいことができ
0

public function update(UserUpdateRequest $request, Users $uzytkownik) 
{ 
    $this->authorize('update', $uzytkownik); 

    $uzytkownik->birth = $request->birth; 
    $uzytkownik->sex = $request->sex; 
    $uzytkownik->about = $request->about; 

    if ($uzytkownik->save()) 
    { 
     return 1; 
    } 

    return 0; 
} 
+0

これは、モーダル属性を最新の – Ian

+0

のままにしておく必要があるときに、オブジェクトを更新するたびに多くの労力を要するように思えるかもしれませんが、OPはOPを1または0に戻したいと考えています。モデルが保存されたかどうかを確認します。そして、これははるかに簡単で、モデルを再度取得し、それを比較して、すべての属性がデータベースに正しく永続化されていることを確認します。 – sunomad

+0

あまりにも動作しません、更新しません –

関連する問題