请帮助我使用Laravel 5.4,我希望从模型功能中保存数据库。
这是我的控制器
public function addStockSizes(Request $request)
{
if ($request->isMethod('post')) {
$this->validate($request, [
'size' => 'required',
]);
$data['size'] = $request->input('size');
$data['netSize'] = $request->input('net_size');
$data['mouseText'] = $request->input('mouse_text');
Stock_size::createSize($data);
return redirect()->back()->with('success', true)->with('message',
'Size is successfully added');
} else {
$sizes = Stock::all();
return view('admin.StockSize.addStockSizes', compact('sizes'));
}
}
这是我在模型中的功能
public static function createSize($data)
{
$size = $data['size'];
$netSize = $data['netSize'];
$mouseText = $data['mouseText'];
$model = new self();
$model->size = $size;
$model->net_size = $netSize;
$model->mouse_text = $mouseText;
$model->save();
}
答案 0 :(得分:2)
您可以在Eloquent模型上使用create
功能。此函数需要一个带有数据库数据的关联数组。
Stock_size::create($request->only(['size', 'net_size', 'mouse_text']));
请记住,您可能会获得MassAssignmentException
,因为默认情况下会对模型属性进行防范。这可以通过添加插入到模型的$fillable
数组中的字段来修复:
protected $fillable = ['size', 'net_size', 'mouse_text'];