将数组从控制器传递到laravel中的模型

时间:2015-02-06 05:56:36

标签: laravel

我想知道如何将一个数组从laravel控制器传递到laravel模型。所以我可以使用模型将它们保存到db中。我不想让我的控制器变得沉重,因为我要求这样做。当我将表单提交保存到db中我应该放置我的保存功能?在控制器或模型中?

2 个答案:

答案 0 :(得分:3)

Laravel有一种名为Mass Assignment的东西。它让你传递一个关联数组并用这些值填充模型。要使其工作,您必须定义您希望能够在模型中进行质量分配的所有属性:

protected $fillable = ['foo', 'bar', 'and', 'much', 'more'];

现在您可以将数组传递给模型的构造函数:

$input = [
   'foo' => 'value1',
   'bar' => 'value2',
   'and' => 'value3',
   'much' => 'value4',
   'more' => 'value5',
];

$model = new Model($input);
$model->save();

甚至更短,使用填充模型的create()方法,然后直接保存:

Model::create($input);

答案 1 :(得分:0)

试试这个..

//In Model get data from controller
public function functionname($data1, $data2){
    //query
}


//In Controller sent data to Model
$data = Modelname::functionname($data1, $data2)->get();