2016-04-15 1 views
0

シナリオ:私は、各ユーザーを単一の行として返すジェネレータを用意しています。理想的にはEloquentで更新する必要があり、別の生のクエリではありません。Laravelのモデルの対応部分には、どのように行を戻しますか?

私のシナリオでは、私のために動作しません、更新の推奨方法:

$user = User::whereId($id); 
$user->name = "John Smith"; 
$user->save() 

私もModel::update($id, $attributes])を使用するように言われてきたが、それはいくつかのため、私の場合には動作しません。私の属性は入力可能なものとしてリストされていません。

どのようにして1つのレコードを取得し、そのレコードをモデルの対応するものに変換できますか?

答えて

0

save()メソッドをlaravelに見ると、existsというプロパティがあります。行をレコードに変換するために必要なのは、モデルが既に存在し、挿入の代わりに更新を試みることをモデルに伝えることだけです。

例:

$user = app(User::class); 
$user->exists = true; 
$user->id = 1; 
$user->name = "John Smith"; 
$user->save(); 

そしてそこにあなたがそれを持っています。モデルは、挿入の代わりに更新を行うべきであることを知的に知っています。

関連する問題