Сохранить поля ввода в другой таблице в Laravel - PullRequest
0 голосов
/ 04 ноября 2019

Итак, что у меня есть сейчас: приложение CRUD: таблица регистрации и форма, и таблица экстрарегистрации, где я хочу сохранить некоторые поля из регистрации. Таблица Extraregistration имеет регистрационный идентификатор.

RegistrationController

$registration->ris_firstname = $request->firstname;
$registration->ris_lastname= $request->lastname;
$registration->ris_email = $request->email;

html

<label>Firstname</label>
<input type="text" name="firstname" id="firstname" class="form-control" data-blocked="<>{}" value="{{ ($cache['firstname'] ?? old('firstname') ?? $registration->ris_firstname ?? '') }}"  required>

<label>Lastname</label>
<input type="text" name="lastname" id="lastname" class="form-control" data-blocked="<>{}" value="{{ ($cache['lastname'] ?? old('lastname') ?? $registration->ris_lastname ?? '') }}"  required>

<label>E-mail</label>
<input type="text" name="email" id="email" class="form-control" data-blocked="<>{}" value="{{ ($cache['email'] ?? old('email') ?? $registration->ris_email ?? '') }}"  required>

ExtraregistrationController

$extraregistration->iea_price = $request->price;
$extraextraregistration->iea_registration_id = $registration_id;

html

<label>Price</label>
<input type="text" name="price" id="price" class="form-control" data-blocked="<>{}" value="{{ ($cache['price'] ?? old('price') ?? $extraregistration->iea_price ?? '') }}"  required>

Я хочу сохранить имя и фамилию в таблице дополнительной регистрации, а не в обычной таблице регистрации. поэтому, когда я добавляю регистрацию, имя и фамилия попадают в таблицу экстрарегистрации в поле registration_firstname, которое находится в таблице экстрарегистрации в базе данных. Спасибо заранее!

Ответы [ 3 ]

1 голос
/ 04 ноября 2019

В RegisterController внутри функции создания.

$extraregistration = new YourModel();
$extraregistration->ris_firstname = $request->firstname;
$extraregistration->ris_lastname= $request->lastname;
$extraregistration->save();
0 голосов
/ 04 ноября 2019

Вам необходимо сохранить имя и фамилию непосредственно в таблице Extraregistration, если у вас есть поле в вашей базе данных. (Таблица дополнительной регистрации).

$extraregistration = new Extraregistration();
$extraregistration->registration_firstname = $request->firstname;
$extraregistration->registration_lastname = $request->lastname;
$extraregistration->save();

ИЛИ

Если у вас нет специально поля в таблице Extraregistration, тогда используется foreign key, как registration_id.

Когдахранение регистрационных данных, которые вам нужны, чтобы сохранить вновь созданную registration_id в Extraregistration таблицу, например:

$registration = new Registration();
$registration->ris_email = $request->email;
$registration->save();

$extraregistration->iea_price = $request->price;
$extraextraregistration->iea_registration_id = $registration->id;
$extraregistration->save();
0 голосов
/ 04 ноября 2019

Сначала нужно изменить структуру БД. Затем

Зарегистрируйте пользователя. После сохранения объект будет иметь «идентификатор»

$registration = new Registration();
$registration->ris_email = $request->email;
$registration->save();

. Затем создайте дополнительный объект пользовательских данных и используйте идентификатор из объекта регистрации.

$extraregistration = new ExtraRegistration();
$extraregistration->ris_firstname = $request->firstname;
$extraregistration->ris_lastname= $request->lastname;
$extraregistration->iea_price = $request->price;
$extraextraregistration->iea_registration_id = $registration->id;
$extraregistration->save();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...