あじちゃんの備忘録。

〜ここはメモ帳です

laravel

間違ってないのに ErrorException 'Class '[App\ClassName]' not found' みたいなエラーがでるとき

laravelはcomposerがクラス名を管理している composer管轄外でクラス名を変更する(手で勝手にクラス名を変えたり、コマンドを挟まずにクラスを新規に作るなど)すると、クラスが見つからないエラーが発生する時がある composerにクラス名を変更したことを伝…

larave5.5:Unknown database type enum requested を解決できた

↓この記事、解決しました!! blog.azimicat.com ドキュメントが間違っていました。 enumカラムの名前の変更はサポートされていないと書いてありましたが、実際にはenumカラムを含むテーブル上の任意のカラムの名前を変更したときにエラーが発生します。 そ…

larave5.5 において enum を含む table では getColumnType() は使用できない

以下の記事で解決しました! blog.azimicat.com 以下元記事 以下のようにカラムのタイプを確認してchange()をかけようとしたところ、エラー (Unknown database type enum requested) が発生する if (!Schema::getColumnType('animal', 'cat') === 'int') { $…

ルーティングが正しそうなのに死ぬときは post と バリデーションエラーによる redirect の罠

Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpExceptionNo message このエラー時に、疑うべきこと。 ルーティング間違い post時のバリデーション落ちによるループエラー → どういうことかというと... controller に post の functio…

エラー `Dotenv values containing spaces must be surrounded by quotes.` が出た時

$ php arrisan serve した時に、上記のエラーが出た。 原因は 「.env」ファイルにスペースを含む文字列を記載していること。 スペースを入れたい場合はシングルコーテーションで囲う必要がある 例) ❌DESCRIPTION=これは 説明です ⭕️DESCRIPTION='これは 説明…

Carbon::addXXX系は元の値を上書くので注意

例 $dt = new Carbon('2019-05-01 09:00:00'); echo $dt.PHP_EOL; // 2019-05-01 09:00:00 echo $dt->addMinutes(10); // 2019-05-01 09:10:00 echo $dt; // 2019-05-01 09:10:00 😞💬addXXX()系は元の値を上書きするので注意すること。

削除した/移動したはずのファイルを探して「No such file or directory」でサーバーが起動しない!autoloadファイルが更新されていない時の対処方

git mv *** を頻繁にやっていると、autoloadファイルが更新されずにサーバーが起動できなかったりすることがあるのでメモ 例えばこんな感じでパスを変更したとして git mv /aaa/bbb/ccc.php /aaa/ddd/ccc.php このようなエラーが出たとする $ php artisan se…

Composerでdev-masterを指定しているpackageの正確なバージョンの確認方法

結論 composerのパッケージのバージョンを調べるときは composer show -i packagename する. packagenameつけなかったりcomposer.lock見ても dev-master で使っているパッケージの正確な名前はわからないので気をつけよう. 経緯 例えばこんな感じの compos…

dropColumnするつもりでdropしたらテーブルを消そうとしてびっくりした

原因 dropColumn するべきところで drop をしていた. リファレンス テーブルリネーム/削除 存在するテーブルを削除する場合は、dropかdropIfExistsメソッドを使います。 コードとエラー // 正しいコード Schema::connection($this->connection)->table('ta…

laravel のマイグレーション機能の`string()`で作成したカラムの長さ

string('hoge') がデフォルトでvarchar幾つになるのか? laravel のマイグレーション機能で作成したカラムの長さは, 例: $table->string('hoge'); → varchar(191) となる.

【解決】dump結果とview表示結果が異なる@Laravel 5.6

解決しました 参考リンク 解決方法 Modelに protected $casts = ['id' => 'string']; を追加したことで解決!! 解決までの道筋 dump結果とviewでの表示を見比べて、型がintegerになっているのではと推測 dump($items); dump($items->last()->id); echo $ite…

外部キー制約 migration の foreigndrop がうまくいかない

(先に)まとめ ⭐️ 外部キー制約の drop と同時に、制約対象の key を変更や削除する場合はスキーマを分ける必要がある ✏️ 外部キー制約を drop するときは1つのスキーマでまとめて実行できる テーブル条件 テーブル名:animals カラム名:kindId 外部キー…

【laravel】HasManyThrough() を使うときに規定通りに書いているにも関わらず結果が0件で困った

Eloquent:リレーション 5.4 Laravel 5.4公式サイトの表記 リレーションのクエリ実行時は、典型的なEloquentの外部キー規約が使用されます。リレーションのキーをカスタマイズしたい場合は、hasManyThroughメソッドの第3引数と、第4引数を指定してください…

【AWS】Laravelアプリケーションのデプロイ

Composer で作成されたファイルを含むソースバンドルを作成する アプリケーションのルートで実行する hoge.zip には付けたいファイル名を入れる zip ../hoge.zip -r * .[^.]* -x "vendor/*" ソースバンドルをデプロイする Elastic Beanstalk コンソールの管…

【Laravel】メンテナンスモードの切替, IP制限の設定

Maintenance Mode メンテナンスモードの切替が標準搭載されている メンテナンスモード有効 $ php artisan down Application is now in maintenance mode. メンテナンスモード無効 $ php artisan up Application is now live. この時のメンテナンス画面は res…

env("PARAMETER") といった形の .env で定義した値が読み込めなく(Nullに)なる

2018/07/02 ローカルログイン画面からログインできない件 起こったこと: env("PARAMETER") といった形の .env で定義した値が読み込めなく(Nullに)なる事象が発生していた。 原因1:configキャッシュの作り直しをするため php artisan config:cache コマ…

【Laravel】クエリビルダーでスペース区切りの複数ワード検索を行う

所感とか 所感 考えるのすごい時間かかったのに、寝たら一瞬で思いついた. 睡眠は大事. 大事だと思ったこと ワードをどの要素にどういう条件で絞り込むのかを明確にすること はじめに目的とするSQLを書いてみること 要素ごとにまとめてwhere句を作っていく…

【未解決】laravelでnpm run devを実行すると「cross-env: not found」というエラーが出る.

参考にしたサイト laravelでnpm run devを実行すると「cross-env: not found」というエラーが出る件対応したった [Laravel-mix] npm run dev で sh: cross-env: command not found 実行したコマンド | 結果 $ npm cache clean $ rm -Rf ~/.npm $ rm -Rf ./no…

MacでPATHを通す

laravelのinstall時に、端末でlaravelコマンドが実行できるようにcomposer関連のパスを通す必要があった. .bash_profileに通したいPATHを記入する ホームディレクトリ直下にある設定ファイル .bash_profile がすべてのPATHを統括しているらしい. ターミナル…

PHPUnitでテストを行う

Testメソッド作成 makeでTestUnitを作成 $ php artisan make:test [TestUnitName] 🙂💬 作成したTestUnitは[tests/Feature/]配下に配置されるので、機能が分かれている時は[TestUnitName]にディレクトリも追加する. Testメソッドを実装 以下が初期状態

transaction処理中の動きで変数が更新されず嵌った.(解決済み)

これ、try-catch中の変数の変化を取得できてないのかな?と思い検証. {{-- blade --}} @if(session('message')) <ul class="list-group"> <li class="list-group-item list-group-item-success">{{ session('message') }}</li> </ul> @endif //controller //成功チェック $success = false; try { DB::transaction(function () use ($success) { //…

マイグレーションファイルの作成でエラー

以下のファイルを実行 //@migrationファイル public function up() { if (!Schema::hasTable('Test')) { Schema::create('Test', function(Blueprint $table) { $table->engine = "InnoDB"; $table->bigInteger('empId', 20)->unsigned()->comment('従業員ID…

トランザクション処理で詰まった

結論 トランザクション処理では外部で定義したの変数は指定して呼び出す必要がある. 詳細 ざっくり以下のような状態で実行すると... $kinds = ['cat','dog','mouse']; DB::transaction(function (){ //格納データ配列の作成 $data = []; foreach($kinds as $…

Laravel Mixを使おう!

laravel mix とは 一言で言うと、 web packの設定を簡単に書くことができるlaravel向けのnpmパッケージ なのですが。これ言われても意味わかんなかったので噛み砕きます。分かる人は飛ばして。 web packはwebコンテンツを構成するJavaScriptやSassなどのリソ…

メソッドチェーンを利用する

環境や条件 http://localhost:8000/test /htdocs/laravelapp/app/Http/Controllers/Controller.php /htdocs/laravelapp/resources/views/helloworld/index.blade.php /htdocs/laravelapp/app/Http/Middleware/TestMiddleware.php <- これをメソッドチェーン…