1 форма для нескольких баз данных с отношениями - PullRequest
0 голосов
/ 04 мая 2018

Я собираюсь сохранить данные пользователя в 2 таблицах только с одной формой, вот как это выглядит, таблицы имеют отношение 1 к 1

Проблема в том, что я не знаю, как получить user_id для таблицы профилей, как это сделать? Спасибо

Form Register :

email       :
password    :
name        :
address     :


Users Table:

+------------+---------------+------+-----+---------+----------------+
| Field      | Type          | Null | Key | Default | Extra          |
+------------+---------------+------+-----+---------+----------------+
| id         | int(11)       | NO   | PRI | NULL    | auto_increment |
| email      | varchar(40)   | NO   |     | NULL    |                |
| password   | varchar(20)   | NO   |     | NULL    |                |
+------------+---------------+------+-----+---------+----------------+

Profiles Table:

+------------+---------------+------+-----+---------+----------------+
| Field      | Type          | Null | Key | Default | Extra          |
+------------+---------------+------+-----+---------+----------------+
| id        | int(11)        | NO   | PRI | NULL    | auto_increment |
| user_id   | int(11)        | NO   |     | NULL    |                |
| name      | varchar(40)    | NO   |     | NULL    |                |
| address   | varchar(70)    | NO   |     | NULL    |                |
+------------+---------------+------+-----+---------+----------------+

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

Используйте встроенный метод Laravel :

$id = DB::table('users')->insertGetId([
    'email'      => $request->email, 
    'password'   => bcrypt($request->password), // or use a mutator
    'name'       => $request->name,
    'address'    => $request->address
]);
0 голосов
/ 04 мая 2018

В контроллере

Сначала введите пользователя, чтобы получить user_id

Это ваша модель

public function addUsser()
    {
    $post = Input::All();

    $data = new Users;

    $data->email = $post['email'];
    $data->password = $post['password '];
    ...

    if($data->save()) {
        return Response::json(array('success' => true, 'last_insert_id' => $data->id), 200);
    }
}

Получить идентификатор в контроллере

$inserted_id = Model::addUsser($data);

Используйте $inserted_id для Profiles Table

...