PHP Laravel как вставить внешний ключ

У меня есть две таблицы, которые:

Администратор:

ID | username | password | mobileNumber | firstName | lastName

Ресторан:

website | adminID | name

У меня есть html-форма с этими данными

restaurantName
website
username
password
mobileNumber
firstName
lastName

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

Я пробовал это:

$input = Input::all();
$admin = Admin::create(Input::only('username', 'password', 'mobileNumber', 'firstName', 'lastName'));

$data = [
   'name' , 
   Input::get('restaurantName'), 
   'website' => Input::get('website')
];

$restaurant = new Restaurant($data);
$admin->restaurant()->save($restaurant);

Но я получил это исключение:

BadMethodCallException
Call to undefined method Illuminate\Database\Query\Builder::save()

не могли бы вы помочь, пожалуйста?

Модель администратора

class Admin  extends Eloquent implements UserInterface, RemindableInterface {

use UserTrait, RemindableTrait;

public function restaurant(){
    return $this->belongsTo('Restaurant', 'ID');
}

Модель ресторана

class Restaurant extends Eloquent implements UserInterface, RemindableInterface {

use UserTrait, RemindableTrait;

public function admin(){
    return $this->hasOne('Admin', 'adminID');
}

person user2208349    schedule 18.06.2014    source источник
comment
возможный дубликат laravel, как указать входные столбцы   -  person ollieread    schedule 18.06.2014


Ответы (1)


Попробуйте с:

$restaurant->admin()->associate($admin);
$restaurant->save();
person clod986    schedule 18.06.2014