Вставить / создать данные, используя принадлежность к отношениям в laravel

Телефон принадлежит пользователю. Теперь, как я вставляю данные телефона и пользователя как через принадлежащие отношения, так и автоматически получаю внешний ключ user_id в таблице телефона. Здесь я пытаюсь этот код, но не работает.

$phoneData = $request->get('phone');
$userData = $request->get('name');
$phone->user()->create($userData);
$phone->create($phoneData);

Вот в поле ввода формы

2 ответа

Что-то вроде этого:

$userData  = $request->get('name');
$phoneData = $request->get('phone');

$user = User::create($userData);
$user->phones()->save(new Phone($phoneData));

Конечно, вам также необходимо определить отношения в модели User:

// \App\User.php
public function phones()
{
    return $this->hasMany(\App\Phone::class);
}

Вы не можете создать телефон без пользователя, это не рекомендуется, потому что ограничение внешнего ключа, которое вы должны иметь в своей базе данных, не позволит вам..

$userData  = $request->get('name');
$phoneData = $request->get('phone');

$phone = new Phone();
$phone->user()->associate(User::create($userData));
$phone->save();

Может быть, вы ищете что-то вроде этого...

Другие вопросы по тегам