【Laravel 6.x】Laravelプロジェクトの名称を変更する方法

はじめに あまりないケースではありますが、一度作成したLaravelプロジェクトの名称を変更する方法を解説します。ここで言うLaravelプロジェクトの名称とは、以下のコマンドのSampleのことを指します。 terminal $ composer create-project --prefer-dist la ...

【Laravel】ローカルディスクやAmazon S3にアップロードした画像をビューで表示する方法

はじめに 本記事では、ローカルディスクやAmazon S3にアップロードした画像をビューで表示する方法について説明しています。 なお、本記事では画像のアップロードする方法については説明していません。本記事は既に実装済みの画像アップロード処理に追加していく形で説明しているので、まだ実装していない方は以下の記事を参 ...

【Laravel】Amazon S3へのアップロードが「403 Access Denied」で失敗する原因と対処方法

はじめに LaravelでAmazon S3へ画像アップロードする処理を実装し、いざアップロードしようとしたところ、以下のエラーが出て失敗しました。 Error executing "PutObject" on "https://minna-no-houteishiki.s3.ap-northeast-1.a ...

開発環境と本番環境で画像のアップロード先を分岐する方法

はじめに この記事では、以下の方針で画像のアップロード先を分岐する方法について解説しています。 開発環境:ローカル(storage/app/public/) 本番環境:Amazon S3 事前準備 AWSに未登録の場合は以下を参考にして登録してください。 AWS アカウント作成の流れ | AWS (https: ...

独自ポリシーの導入手順と注意点(ハマリポイント)を解説

はじめに ユーザーと記事を関連付けておいて、編集や削除は記事の作成者のみ許可したいときにはポリシーを作成します。今回はポリシーの導入手順と注意点(ハマリポイント)を解説します。 導入手順 ポリシー作成 ターミナルで以下のコマンドを実行します。 terminal $ php artisan make:policy ...

ユーザー認証機能の導入手順と生成されたフォームを日本語化する方法を解説

はじめに Laravelではユーザー認証機能の導入が簡単にできてしまいます。この記事ではLaravelプロジェクトにユーザー認証機能を追加する手順と、生成されたフォーム(デフォルトでは英語)を日本語化する方法を解説します。 前提 Laravel 6.xを対象としています。 テーブル作成 ユーザー認証のためのマイ ...

【Laravel 6.x】ネスト構造になっているRESTfulルーティングの定義方法

はじめに RESTfulルーティングを定義するときはRoute::resourceを使いますが、ネスト構造になっているRESTfulルーティングの定義方法を調べたので記事にします。 前提 おそらく、Laravel 6.xのみ対応だと思います。 ※Laravel公式ドキュメントの5.8以前には記載がないため。間違 ...

Laravelプロジェクト作成から初めに行うべき設定まとめ

はじめに Laravelプロジェクトを作成する方法と、初めに行うべき設定(DB設定や日本語化など)をまとめました。 環境 macOS Catalina 10.15.3 PHP 7.3.11 Composer 1.9.3 Laravel 6.17.1 プロジェクト作成 ターミナルで以下のコマンドを実行します。 ` ...

いきなりRailsアプリのデプロイが失敗するようになった... 「bundler: failed to load command: cap」の解決方法

はじめに いつものようにRailsアプリのデプロイを行おうとしたところ、以下のエラーが出力されました。 terminal $ bundle exec cap production deploy bundler: failed to load command: cap (/Users/user/.rbenv/ve ...

外部キー制約を設定したマイグレーションでエラーが発生する原因と対処法

はじめに 【入門】Laravelチュートリアル - 掲示板を作成してみよう | 実践的Web開発メソッド (https://blog.hiroyuki90.com/articles/laravel-bbs/) こちらの手順に従ってマイグレーションファイルを作成しマイグレートを行おうとしたところ、以下のエラーが出 ...