允许laravel根据字段类型过滤请求

时间:2019-05-03 12:02:13

标签: laravel laravel-5 eloquent

所以我的表单中有300个不同的字段从数据库生成,这些字段可以是下拉字段或文本字段,需要保存在两个不同的数据库中。 要获取所有下拉列表中的字段,我将不得不使用

$request->input('name')
$request->input('email')
$request->input('username')

和其他100个字段。

不是这样做,而是根据输入类型过滤请求

if(input_type==text){
save to this table
}
else if (input type==select){
save to this table
}

2 个答案:

答案 0 :(得分:0)

用户laravel DB类。

请考虑以下示例。

$data = array();
if(input_type==text){
  $data['field1'] = 'somevalue';
}
else if (input type==select){
  $data['field2'] = 'somevalue';
}
$Insert = DB::table('TABLE_NAME')->insert($data);

确保该表具有要插入的字段的默认值。

答案 1 :(得分:0)

您可以使用类似这样的东西。我猜你有两个不同的Model类要存储在数据库中

$firstTableFields = [ 'field1', 'field2', 'field3'];
$secondTableFields = [ 'field4', 'field5', 'field6'];

$firstModel = new Model($request->only($firstTableFields));
$firstModel->save();

$secondModel = new Model($request->only($secondTableFields));
$secondModel->save();