[英]passing an array from controller to model in laravel
我想知道如何將數組從laravel控制器傳遞到laravel model。這樣我可以使用model將它們保存到db中。 我不想為此要求我的控制器。 當我將表單提交保存到db中時,應該將保存功能放在哪里? 在控制器或模型中?
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);
嘗試這個..
//In Model get data from controller
public function functionname($data1, $data2){
//query
}
//In Controller sent data to Model
$data = Modelname::functionname($data1, $data2)->get();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.