WST87448735
@WST87448735

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Laravel 1つのテーブルへ複数のカラムを登録する方法

解決したいこと

現在レシピアプリの作成をLaravelにて作成中です。

recipesテーブルとmaterialsテーブルがあり、
recipesテーブルには
id,name,image,user_id,catgeory_idがカラムとして存在していて、
materialテーブルには以下のように設定しています。

materials_table.php
 $table->bigIncrements('id');
            $table->unsignedBigInteger('recipe_id');
            $table->string('name');
            $table->string('amount');
            $table->string('unit');
            $table->timestamps();
            
            $table->foreign('recipe_id')->references('id')->on('recipes')->onDelete('cascade');

自分で試したこと

ResipeController
public function store(RecipeRequest $request)
    {
        $user = \Auth::user();
        
        $path = '';
        $image = $request->file('image');
        if(isset($image) === true){
            $path = $image->store('recipe','public');
        }
        $recipe = Recipe::create(
            [
                'user_id' => auth()->id(),
                'name' => $request->name,
                'description' => $request->description,
                'category_id' => $request->category_id,
                'image' => $path,
            ]);
        
        
        session()->flash('success','レシピを追加しました');
        return redirect()->route('recipes.index');
    }

レシピを登録するときに同時に材料も登録したい場合の方法と複数のmaterialsを一つのレシピに登録して紐づける方法がわからずです

よろしくお願いいたします。

0

1Answer

Comments

  1. @WST87448735

    Questioner

    ご解答ありがとうございます🙇‍♂️
    ファットコントローラーになる気がするのですが、メソッド作って読み込む感じですかね?😂
  2. プロジェクトによりますが、Service クラスもしくはRecipe モデルクラスに保存するメソッドを作成するのが良いのではないでしょうか
  3. @WST87448735

    Questioner

    試してみます!ご回答ありがとうございます。

Your answer might help someone💌