【问题标题】:How to store data to database in LARAVEL 5.2如何在 LARAVEL 5.2 中将数据存储到数据库中
【发布时间】:2017-10-25 13:17:57
【问题描述】:

我是 Laravel 的初学者,当我想将数据存储到数据库时遇到问题。 当视图上的名称与数据库数据上的字段名称不同时未保存在数据库中,但视图上的输入名称与数据库数据上的字段名称相同时正确存储

示例 这是视图

<div class="form-group">
    <div class="row">
        <div class="col-md-3">
            <label>Job</label>
            <input type="text" class="form-control" name="job" placeholder="Job">
        </div>
    </div>
</div>
<div class="form-group">
    <div class="row">
        <div class="col-md-3">
            <label>Machine</label>
            {{ Form::select('machine', $mesin_laminating->pluck('active', 'kode')->all(), null, ['class' => 'form-control select2'])}}                                      
        </div>
    </div>

</div> 

这是我的控制器

 public function store(Request $request)
{
    $this->validate($request, [
        'job' => 'required',
        'machine' => 'required'
    ]);

    $input = $request->all();
    SpkAdmin::create($input);

}

这是我的模特

protected $table = 'tb_job';

protected $fillable = ['user_job', 'machine'];

这是我的数据库

user_job | machine
------   | ------
Cell     | Cell

如何将控制器上的 scyn 作业存储在 user_job 上? 对不起我的英语

【问题讨论】:

  • 您希望表单字段名称不同于 DB 中的名称?
  • @GaneshGhalame 我希望输入名称与 DB 中的字段名称不同
  • 如果答案有效,请批准并投票

标签: php mysql laravel laravel-5


【解决方案1】:

替换store如下:

public function store(Request $request)
{
    $this->validate($request, [
        'job' => 'required',
        'machine' => 'required'
    ]);

    $spkAdmin = new SpkAdmin();
    //On left field name in DB and on right field name in Form/view
    $spkAdmin->user_job = $request->input('job');
    $spkAdmin->machine = $request->input('machine');
    $spkAdmin->save();
}

【讨论】:

  • 我这样做时出错,错误 - $spkAdmin = SpkAdmin::new SpkAdmin();
  • 在对象创建中删除了 SpkAdmin:: 我的错误,现在更新代码检查
  • 未定义变量:spkAmin ||输入模型(DB)的查询在哪里?
  • 现在检查错字
【解决方案2】:

还有另一种在数据库中添加数据的方法

$data = Input::all();    
$check = DB::table('tablename')->insertGetId(array(
                                                'phone_no'      => $data['number'],
                                                'firstname'     => $data['first_name'],
                                                'lastname'      => $data['last_name'],
                                                'birth_month'   => $data['birth_month'],
                                                'birth_year'    => $data['birth_year'],
                                                'zipcode'       => $data['zip_code'],
                                                'device_token'  => $data['device_token'],
                                                'created_at' => Carbon::now()
                                                        ));

希望这可以解决您的问题

【讨论】:

  • 您的查询不需要模型?
  • 不,这不是因为它是插入数据的替代方法
【解决方案3】:
use App\SpkAdmin;

public function store(Request $request)
{
    $this->validate($request->all(), [
        'job' => 'required',
        'machine' => 'required'
    ]);

$spkAdmin = SpkAdmin::create($request->all());

    Or 

$input = [];
$input = $request->all();
$input['user_job'] = $request->get('job');
$input['machine'] = $request->get('machine');
SpkAdmin::create($input);
}

【讨论】:

  • 虽然此代码可能会回答问题,但提供有关其解决问题的方式和/或原因的附加上下文将提高​​答案的长期价值。Read this
猜你喜欢
  • 2016-09-05
  • 2016-10-06
  • 2016-04-20
  • 2017-01-03
  • 2016-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多