Как одновременно заполнить две таблицы из формы?

Хочу сделать одновременное заполнение таблиц из формы.Подскажите как это правильно реализовать

Фома
<form class="needs-validation" method="post" novalidate action="reg">
{{ csrf_field() }}
      <h4 class="mb-3">Регистрация клиента</h4>
      <div class="col-md-6 mb-3">
        <label for="fio">ФИО</label>
        <input type="text" class="form-control" name="fio" id="fio" placeholder="" value="" required>
        <div class="invalid-feedback">
          Пожалуйста, введите ФИO.
        </div>
      </div>
      <div class="col-md-6 mb-3">
        <label for="phone">Телефон</label>
        <input type="text" class="form-control" name="phone" id="phone" placeholder="Без пробелов: 89992223355" value="" required>
        <div class="invalid-feedback">
          Пожалуйста, введите номер телефона.
        </div>
      </div>
      <div class="col-md-6 mb-3">
        <label for="gender">Пол</label>
        <select class="custom-select d-block w-100" name="gender" id="gender" value="" required>
          <option>Не выбран</option>
          <option>Мужской</option>
          <option>Женский</option>
        </select>
        <div class="invalid-feedback">
          Пожалуйста, выберите пол.
        </div>
      </div>
      <div class="col-md-6 mb-3">
        <label for="address">Адрес</label>
        <input type="text" class="form-control" name="address" id="address" placeholder="Улица, дом, квартира" value="" required>
        <div class="invalid-feedback">
          Пожалуйста, введите адрес.
        </div>
      </div>
      <h4 class="mb-3">Авто</h4>
      <form class="needs-validation" novalidate>
      <div class="col-md-6 mb-3">
        <label for="Marka">Марка</label>
        <input type="text" class="form-control" name="Marka" id="Marka" placeholder="" value="" required>
          <div class="invalid-feedback">
            Пожалуйста, введите марку авто.
          </div>
      </div>
      <div class="col-md-6 mb-3">
        <label for="Model">Модель</label>
        <input type="text" class="form-control" name="Model" id="Model" placeholder="" value="" required>
        <div class="invalid-feedback">
          Пожалуйста, введите модель авто.
        </div>
      </div>
      <div class="col-md-6 mb-3">
        <label for="Color">Цвет</label>
        <input type="text" class="form-control" name="Color" id="Color" placeholder="" value="" required>
        <div class="invalid-feedback">
          Пожалуйста, введите цвет авто.
        </div>
      </div>
      <div class="col-md-6 mb-3">
        <label for="Number">Гос Номер РФ</label>
        <input type="text" class="form-control" name="Number" id="Number" placeholder='Без пробелов: у588тр34' value="" required>
        <div class="invalid-feedback">
          Пожалуйста, введите гос номер РФ.
        </div>
      </div>
      <hr class="mb-4">
      <div class="custom-control custom-switch">
  <input type="checkbox" class="custom-control-input" id="customSwitch1" name="Status">
  <label class="custom-control-label" for="customSwitch1">Toggle this switch element</label>
</div>
      <hr class="mb-4">
      <button class="btn btn-primary btn-lg btn-block col-md-6 mb-3" type="submit">Зарегистрировать</button>
      </form>

Маршуты
Route::post('reg', 'regController@regClient');
Route::post('reg', 'regController@regAvto');

Контроллер
class regController extends Controller
{
    public function regClient(Request $request){
      DB::table('client')->insert([
          ['fio' => $request->get("fio"),
          'phone' => $request->get("phone"),
          'gender' => $request->get("gender"),
          'address' => $request->get("address")
          ]
      ]);
      return  'Ок';
    }
    public function regAvto(Request $request){
      DB::table('avto')->insert([
          ['Marka' => $request->get("Marka"),
          'Model' => $request->get("Model"),
          'Color' => $request->get("Color"),
          'Number' => $request->get("Number"),
          'Status' => $request->get("Status")
          ]
      ]);
      return  'Ок';
    }
}
  • Вопрос задан
  • 85 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Kostik_1993
Fullstack Web Developer | PHP | Laravel | Vue.js
В вашем случае можно использовать AJAX. Но ИМХО, а также общепринятые принципы разработки советуют сначала зарегать пользователя, а потом уже его автомобиль

Ну а если все таки извращение ваша фишка
Оставляете один маршрут
Route::post('reg', 'regController@regClient);

и пихаете все в один метод
class regController extends Controller
{
    public function regClient(Request $request){

      DB::table('client')->insert([
          ['fio' => $request->get("fio"),
          'phone' => $request->get("phone"),
          'gender' => $request->get("gender"),
          'address' => $request->get("address")
          ]
      ]);
      DB::table('avto')->insert([
          ['Marka' => $request->get("Marka"),
          'Model' => $request->get("Model"),
          'Color' => $request->get("Color"),
          'Number' => $request->get("Number"),
          'Status' => $request->get("Status")
          ]
      ]);
      return  'Ок';
    }
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Duotek Москва
от 110 000 до 150 000 ₽
Медэк Старз Москва
от 125 000 до 180 000 ₽
Spectrum Екатеринбург
от 130 000 до 200 000 ₽
25 мая 2020, в 21:08
4000 руб./за проект
25 мая 2020, в 21:06
3000 руб./за проект
25 мая 2020, в 20:41
10000 руб./за проект