如何在laravel中将表单值从模型传递给控制器

时间:2017-08-17 20:17:08

标签: php laravel model controller

我有一个模态表单,它将值传递给模型,最终运行代码以插入数据库的控制器,但我的问题是我不知道如何将值从表单传递给模型和我的控制器。这是我的模型代码

 <?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class addbusiness extends Model
{
    //fillable fields
    protected $fillable = ['Fname', 'staffphn'];
}

以下是我插入数据库的控制器代码

 public function insert(Request $request){
    //validate post data
    $this->validate($request, [
        'Fname' => 'required',
        // 'content' => 'required'
    ]);


   DB::table('business')->insert(
        ['owner_id' => 3, 'bus_name' => 'Fname' ,'address' => 'Fname' ,'phone' => 'Fname' ,'email' => 'Fname' ,'logo' => 'Fname','country' => 'Fname', 'createdon' => date('Y-m-d H:i:s' ), 'createdby' => 'Fname',]
    );

正如您所看到的,我将值直接传递到我的数据库,而不是从我的表单传递。插入代码工作正常

这是我的表格

<input type="text" class="form-control" name="Fname" id="Fname" value="" placeholder="Business Name" required />
        <span class="glyphicon glyphicon-briefcase form-control-feedback"></span>

我现在的问题是我不知道如何将表单值传递给我的模型,最后传递给我的控制器。任何有关正确文档的帮助都将被视为laravel的新手。

1 个答案:

答案 0 :(得分:2)

Business::create([
  'Fname' => $request->get('Fname'),
  ...
]);

如果表单包含所有正确的$request->all()属性,您可以使用name

Business::create($request->all());

您的Model应该被称为Business才能生效。