Ad

Laravel 5 Relationships HasOne Save()?

- 1 answer

I have two tables Projects and Galleries. Project has one gallery. In galleries table I have a foreign key project_id.

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");

        });

In Project model I have a function that gets the gallery associated with the project:

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

When creating new project, user selects from drop down the gallery then when saving a new project, how can I update galleries table to use newly created projects_id

$gallery_id = 2; // user selected gallery 2

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

Answer

Try the following:

$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();
Ad
source: stackoverflow.com
Ad