簡體   English   中英

將數組從控制器傳遞到laravel中的模型

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM