laravel

【AWS / Laravel】The stream or file "/var/www/html/storage/logs/laravel.log" could not be opened in append mode: failed to open stream: Permission denied

◆問題 ECSのFargateでLaravelのプロジェクトを立ち上げた時に掲題のエラーが発生。storageのフォルダはDockerfileで以下の通り権限変更しており、同じDockerイメージでローカルで立ち上げた時は何事もなく動くのになぜ?? RUN chmod -R 775 storage ◆原因 色…

【Laravel】ECS Fargate環境上のLaravelのログをCloudWatchに出力させる

Laravelかどうかに関係なく、ECS Fargate上のアプリのログをCloudWatchに表示させるには、ログを標準出力させればOK。Laravelの場合、config/logging.phpの「channel」部分を以下のように調整してあげるだけでよい。 'channels' => [ 'stack' => [ 'driver' …

【Laravel】APIでBasic認証を使う

LaravelにはデフォルトでBasic認証の仕組みが実装されているので、基本的には「route/api.php」で以下のようにmiddlewareを追加してあげるだけ。 Route::get('sampleapi', 'SampleApiController@index')->middleware('auth.basic'); これだけで「User」テー…

【Laravel】FormRequestで「引数①があれば引数②を必須とする」のバリデーションの書き方

Laravelで例えば以下のようなリクエストパラメーターがあり、「start_date」があった場合は「end_date」を必須とする、というバリデーションをFormRequestで実装する場合、以下のような記述になる。 class SampleRequest extends FormRequest { /** 中省略 *…

【Laravel】URL内の引数に対してFormRequestでバリデーションをかける

Laravelで以下のようなURL内の引数に対して Route::get('/sample/{param1?}/{param2?}', 'Sapmle\SampleController@index')->name('sample.index');FormRequestの処理を使ってバリデーションを行おうとしたところ、以下のようにいつも通りに書いてもなぜかス…

【Laravel】peginateでLimit句が使えない!ので代替案

Laravelのpaginateメソッドは、元々のクエリで取得した結果に、()の引数で指定した件数で"limit"と"offset"を自動的に設定し処理しています。(公式のサンプルより) 例えばこの元々のクエリ部分(「DB::table('users')」)で取得する件数を指定したい場合、例…

【Laravel】DB Transactionの実装について

皆さんは自分のプロジェクトでDBのトランザクションを実装されているでしょうか? 案件で色んなクライアント先のプログラムを見ていると、結構全く実装されていないプロジェクトもあったりする。DB Transactionとは簡単に言うとDBとの接続・操作の途中で何か…

【Docker】【Laradock】How to add SSL to APACHE in laradock

Here's the solution1) Add below to your laradock -> apache2 -> Dockerfile #ssl certificate RUN openssl genrsa -out "/etc/ssl/private/mysite.key" 2048 \ && openssl req -new -key "/etc/ssl/private/mysite.key" -out "/etc/ssl/certs/mysite.csr"…

【Docker】【Laradock】Laradockのapache2でSSL自己証明書を設定してhttps通信を可能にする

今回は結構ややこしくて少しはまりましたが勉強になりました。 毎度ながらこのブログでは答えだけサクッと書きます。 詳細に関しては以下の記事が非常に丁寧に解説されていたのでご参考にください。www.engilaboo.com紹介しておいて↑この方のやり方とは少し…

【laravel】paginate()でエラーになる:Too few arguments to function Illuminate\Support\Collection::get(), 0 passed in /var/www/html/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php

Laravelで以下のような形でpaginateを書くとエラーになった。 $query = User::select('name')->whereColumn('id',1)->paginate(5); return $query->get();(エラーメッセージ) Too few arguments to function Illuminate\Support\Collection::get(), 0 passed…

【laravel】Controllerでアクセスしているドメイン以下の相対URLを取得する

今回は答えだけサクっと。これで取れます。 route(\Route::currentRouteName(), null, false)

【laradock】nginx | laravel | mysql構成でphp artisan migrateで失敗する問題の解決方法

以下を参考にLaradockで環境構築した際に「php artisan migrate」でこけた時のメモ qiita.com 問題 「docker-compose up」で立ち上げはうまくいったけど、プロジェクトディレクトリで「php artisan migrate」実行時、以下のようなエラーが発生。 Illuminate\…

【laradock】DockerでLaravel環境をサクッと構築!Laradockって何が凄い!?

Laravel x Dockerと言えば「Laradock」。 そのまんまな名前ですが、ローカル開発環境のベースもvagrantからdockerにすっかり様変わりした昨今で、Laravelを使う人たちの間ではだいぶ浸透したんじゃないでしょうか。 Dockerを触り始めたばかりの頃はLaravelを…

【DockerToolbox + CentOS + apache + Laravel6.0】でLaravelのauth画面を導入する

ご存じの通り、Laravel6.0以降、php artisan make:authコマンドが使えなくなったため、auth画面の導入に手間がかかるようになりました(コレなんでわざわざこんなデグレみたいなことしたんだろ)。加えてDocker上でやることでさらに独自の手順などが出てきた…

【Laravel】アクセスしてきたドメインによってルーティングをわける

例えばフロントのWebページと管理画面を一つのLaravelで管理するけど、ドメインが別々な場合。アプリケーションにアクセスしてきたドメインによってルーティングを分ける時のメモ。(1) まずアクセスしてくるドメインを「.env」ファイルに書き込む DOMAIN_FRO…

【Laravel】publicフォルダをプロジェクトディレクトリの外に配置する

public内にあるcssやjsなどのassetをフロントエンドの開発チームが触る、またセキュリティ上の理由から「public」フォルダをプロジェクトディレクトリの外に出したい時の対応方法のメモ↓ (プロジェクトディレクトリを「src」という名前にした場合) (1) 「p…

【Laravel】Laravelで「unserialize(): Error at offset 0 of ** bytes Error」のエラーが発生した場合の対処法

解決法: envキーの再生成を行う php artisan key:generate

【Laravel】View bladeでLaravelの変数をJavascriptに渡す方法

例)ControllerでView bladeファイル(sample.blade.php)に$paramを渡す (SampleController.php) public function index(Request $request){ return view('contents.sample')->with('param' => ['one', 'two', 'three']); }bladeファイル側では受け取った$p…

【Laravel】How to pass laravel variable to javascript in blade file

Say I passed $param to sample.blade.php in Controller (SampleController.php) public function index(Request $request){ return view('contents.sample')->with('param' => ['one', 'two', 'three']); }Then in the blade file, all you have to do is …