2015-12-29 4 views
1

У меня есть две таблицы Проекты и Галереи. В проекте есть одна галерея. В таблице галерей у меня есть внешний ключ project_id.Laravel 5 отношений hasOne save()?

Schema::table('galleries', function (Blueprint $table) { 

      $table->integer("project_id")->unsigned()->nullable()->default(null); 

      $table->foreign("project_id") 
        ->references("id") 
        ->on("projects") 
        ->onDelete("set null"); 

     }); 

В модели проекта У меня есть функция, которая получает галерею, связанную с проектом:

public function gallery() 
    { 
    return $this->hasOne("App\Gallery"); 
    } 

При создании нового проекта, пользователь выбирает из выпадающего списка галереи затем при сохранении нового проекта, как можно обновить таблицу Фотогаллереи использовать только что созданный projects_id

$gallery_id = 2; // user selected gallery 2 

$project = new Project(); 
$project->title = "new project"; 
$project->save(); 

ответ

5

Попробуйте следующее:

$gallery_id = 2; // user selected gallery 2 

$project = new Project(); 
$project->title = "new project"; 
$project->save(); 

$gallery = Gallery::find($gallery_id); 
$gallery->project_id = $project->id; 
$gallery->save(); 
Смежные вопросы