じろう

2019年11月02日に参加

学習履歴詳細

[Laravel]課題アプリ作成。記事と一緒に画像を投稿できるように

今日のYWT

やったこと

Travelog

記事と一緒に画像を投稿できるように

わかったこと

画像投稿

エラーの原因

enctype="multipart/formdata"がなかった

ddが効かなかった理由

storeメソッド発火前にバリデーションで弾かれてしまっていたため

画像のファイル名を取得

getClientOriginalName()

画像保存のコード

public function store(ArticleRequest $request, Article $article)
{
    $article->fill($request->all());

    // dd($request, $request->file('files'));
    // 注意:ここの$request->user()はリレーションメソッドの呼び出しではなく、Requestクラスのインスタンス(ここでは$request)が持っているメソッドで、認証済みユーザーのインスタンスを返している
    $article->user_id = $request->user()->id;

    $article->save();

    // 画像アップロード
    foreach ($request->file('files') as $index=>$e) {
        $storage_key = $e['photo']->store('uploads', 'public');
        $filename = $e['photo']->getClientOriginalName();
        $article->photos()->create([
            'name' => $filename,
            'storage_key' => $storage_key
            ]);
    }

    return redirect()->route('articles.index');
}

次やること

  • 画像を表示させる
    • 細かいビューはあと
PHP
Docker
Laravel

2020年10月15日(木)

7.2時間