2016-08-25 3 views
0

私はLaravel 5を使用しています。リソースコントローラを作成し、セットアップルーティングとデータベースモデルをセットアップしました。Laravel 5 - すべてのPOSTデータをデータベースに挿入しますか?

POST私のストアメソッドはコントローラで呼び出されますが、どのように要求データを取得して明示的にすべてのフィールドを設定することなく、dbに新しいエントリを挿入できますか?フィールド毎...

public function store(Request $request) 
{ 
    $data = $request->all(); // this grabs all my request data - great! 
    $user = new User; 
    $user-> ??? // insert ALL posted data 
    $user->save(); 
} 

私は私が行うことができますことを理解...

$user->name = $request->name; 

は、ここに私のコードです。しかし誰かが私にすべてを挿入する方法を教えてもらえますか?

私はおそらくforeachをやることができると思いますが、もっと良いものがあるかどうか疑問に思っています。

答えて

2

方法fillは、すべてのモデルhttps://laravel.com/api/5.3/Illuminate/Database/Eloquent/Model.html#method_fillである:

$user->fill($request->all()); 

最終的にあなたがcreateを使用することができます。

\User::create($request->all()); 

これ以上の質量asignmentと呼ばれ、これに関するセクションがEloquentsのドキュメントでありさhttps://laravel.com/docs/5.1/eloquent 設定するキーを定義する必要があります。

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class User extends Model 
{ 
    // The attributes that are mass assignable 
    protected $fillable = ['name', 'login', 'birthdate']; 
} 
+0

正確に必要なもの!ありがとう@ofca – Andrew

関連する問題