反正是否使用Input :: all()来创建新记录?

时间:2015-02-26 05:32:23

标签: php laravel laravel-4

我正在使用Laravel 4.x.是否可以通过Input:all()而不是设置对象的各个属性,然后调用save()

我的表单字段类似于命名约定中的db字段。

2 个答案:

答案 0 :(得分:1)

从laravel文档中您可以选择 -

$user = User::create(array('name' => 'John'));

// Retrieve the user by the attributes, or create it if it doesn't exist...
$user = User::firstOrCreate(array('name' => 'John'));

// Retrieve the user by the attributes, or instantiate a new instance...
$user = User::firstOrNew(array('name' => 'John'));

您可以使用以下所有这些

$user = User::create(Input::all());

// Retrieve the user by the attributes, or create it if it doesn't exist...
$user = User::firstOrCreate(Input::all());

// Retrieve the user by the attributes, or instantiate a new instance...
$user = User::firstOrNew(Input::all());

但是您需要注意表单字段名称和数据库列名称是相同的。

此外,您还需要在模型上寻找$ guard。那些字段无法以这种方式插入。

答案 1 :(得分:0)

您可以使用Model::create(Input::all())

为此,您需要在模型中指定受保护的$fillable数组,该数组指定可指定质量的字段。

protected $fillable=array('column1','cloumn2');