Вставить / создать данные, используя принадлежность к отношениям в 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();
Может быть, вы ищете что-то вроде этого...