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