如何从模型Laravel正确存储数据库上的日期

时间:2017-07-19 07:59:43

标签: php database laravel model save

请帮助我使用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();
}

1 个答案:

答案 0 :(得分:2)

您可以在Eloquent模型上使用create功能。此函数需要一个带有数据库数据的关联数组。

Stock_size::create($request->only(['size', 'net_size', 'mouse_text']));

请记住,您可能会获得MassAssignmentException,因为默认情况下会对模型属性进行防范。这可以通过添加插入到模型的$fillable数组中的字段来修复:

protected $fillable = ['size', 'net_size', 'mouse_text'];