Разрешить laravel фильтровать запросы по типам полей - PullRequest
0 голосов
/ 03 мая 2019

Итак, у меня есть 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 голосов
/ 03 мая 2019

Вы можете использовать что-то вроде этого.Я предполагаю, что у вас есть два разных 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();

0 голосов
/ 03 мая 2019

Пользовательский класс 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);

Убедитесь, что в таблице есть неопределяемое значение для полей, которые вы не вставляете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...