我在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上? 对不起我的英文
答案 0 :(得分:10)
将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();
}
答案 1 :(得分:4)
还有另一种在数据库中添加数据的方法
$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()
));
希望这可以解决您的问题
答案 2 :(得分:0)
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);
}