javascript配列のキーが歯抜けだとlengthがundefindになる axiosで受け取ったレスポンスのサイズを見るためにlengthプロパティーを参照したら何故かundefindになってしまいました。 理由 バックエンド側のレスポンスで { 0: { id: 1 }, 3: { id: 3 }, 5...2023.02.27javascriptPHPTypeScript開発
Laravel[Laravel]更新されたフィールドがあるかどうか判定する 編集フォームで、変更があった場合だけ何かするというような処理はありがちだと思いますが、そういったときに便利な機能があります。Model::isDirty() メソッド を使うと、変更があったかどうかのBool値を返してくれます。引数にフィー...2023.02.21LaravelLaravel8.x
LaravelLaravelAdminで複数カラムのUniqueValidationを行う方法 LaravelAdminで複数カラムのUniqueValidationを行う方法がわからなかったので調査しました。前提環境は Laravel8ユーザーにタグを付与する場合を例にします。テーブル構成はこんな感じuserstagstag_use...2023.02.02LaravelLaravel8.x
Laravellaravel8のUnitTestでfackerが使えない UnitTestとFactoryを作成してテストを実行してみたら Unknown formatter "関数名" faker というエラーになってFakerが使えなかった。作成時に利用したコマンドはこんな感じ artisan mak...2023.02.02LaravelLaravel8.xLaravel初心者講座開発
Laravel[Laravel]孫の集計を行う Laravelで孫テーブルの集計をしたい場合は hasManyThrough を使ってリレーションを定義した上で、hasManyThroughで定義したリレーションに対してwithCount()などの集計関数を使う。具体的にはこんな感じpu...2023.01.05Laravel
Laravel[Laravel]WebAPIの内容がソートされていない LaravelでCollectionでソートしたデータをJSONで返却して、JavaScriptで表示させたが、なぜかソートされていない。理由JSONオブジェクトは連想配列は順番は保証されずキー名基準になるため無意味。Collection:...2022.12.27Laravel
LaravelLaravelのモデルを共通化する(Scope) Queryの共通化例えばこんなQueryがあったとして$users = \App\User::where('age', '>=', 20)->whereDate('created_at', today())->get();modelでpub...2022.12.27LaravelLaravel8.x
Laravelmodel::update()で更新するとObserverでキャッチできない LaravelにObserverという機能があって、モデルが作成されたり変更された時のイベントコールバックを登録することができるのですが、なぜかUpdate時のイベントがキャッチできない問題に遭遇しました。 原因 単一モデルじゃないとキャッ...2022.12.23LaravelLaravel8.x開発
Laravelobserverをキャンセルする Laravelにはobserver機能があって、Modelに書き込みが会った時のイベントをキャッチして何かやらせるということができます。CakePHPで言うところのafterSave()みたいなものですね。Observer自体は公式マニュア...2022.12.20LaravelLaravel8.x開発
Laravel[Laravel Mix] 型定義ファイル(.d.ts)を作ったら”TypeScript emitted no output”エラーになる 環境Laravel-mix 6Vue 2.7型定義ファイルがないモジュールがあったので、@typeフォルダを作って型定義ファイルを入れてビルドしてみたが・・・Module build failed (from ./node_modules/...2022.12.13LaravelLaravel8.xVue3
LaravelLaravel adminでユーザーのパスワードを管理する Laravel Adminを使ってユーザーの情報を管理したい場合があると思います。ただ、FormやModelが通常とは違いAdminで独自なので、前処理、後処理をどうやってけけばいいのか悩みますね。結論から言うとこんな感じにすると良いかと思...2022.11.28LaravelLaravel8.xLaravel初心者講座開発
LaravelUncaught TypeError: Vue.use is not a function Laravel mix + vue で開発しているとUncaught TypeError: Vue.use is not a functionが、出たり出なかったりすることがあるのだが、ようやく意味がわかった。ビルド途中でリロードする発生す...2022.11.26LaravelLaravel8.xVue3
LaravelLaravel Mix+Vue2をTypeScriptに対応させようとしてハマった件 LaravelMix+Vue2をTypeScriptに対応させるべく色々やっていたのだが色々はまりましたので、その時の忘備録です。こんなののために1日潰れました。いまさらVue2にするとかはないと思いますがあまり情報がなかったので残しておき...2022.11.25LaravelLaravel8.xVue3
CakePHP[PHP]ゴミがレンダリングされる CakeなりLaravelなりで、下手にコンソール出力するデバッグプリントを使って消し忘れるとめんどくさいことになります。フレームワークだと、いろんなファイルをを経由して呼ばれるので、消し忘れるとどこでやってるかわからなくなります。フレーム...2022.11.19CakePHPCakePHP3.xCakePHP4Laravel
CakePHP3.x[CakePHP]patchEntity()で渡したデータがNULLになる件 CakeでpatchEntity()で渡したカラムの中身がなぜかNULLになってしまう問題が発生。原因は、渡したデータの変数の型やフォーマットが、DBのカラムの型と一致していなかったり、変換できない場合、NULLになるというものでした。発生...2022.11.19CakePHP3.xCakePHP4
LaravelLaravel sail によるデバッグ設定 Laravel sail で構築したアプリのPHPデバッグを行う方法です。 設定変更 Xdebugについては標準でVer3系のものがインストールされています。 .ENV ファイルに以下の環境変数をセット SAIL_XDEBUG_MODE=...2022.11.18LaravelLaravel8.x
Laravel[Laravel] sailのDBサーバーへのアクセスが拒否される Laravel sail ベースで作成したコンテナのDBで新しいDBを作ろうとしたら・・・ ユーザー 'sail'@'%' によるデータベース 'xxxxxxx' へのアクセスは拒否されました。 原因 デフォルトで作られるユーザーの権...2022.11.18LaravelLaravel8.x
CakePHP[CakePHP]IN句を使う場合はwhere()を使うな!whereInList()を使え 通常、IN句を使って指定のIDのレコード一覧を取ってくるには$this->Users->find('all')->whre();とすればよいのですが、$userListが空の場合エラーになってしまいます。従来は$userListの存在チェッ...2022.11.17CakePHPCakePHP3.xCakePHP4
CakePHP[CakePHP4]ModelをcontainしたらCannot convert value of type array to string になる場合 CakePHP4であるモデルをcontain()で追加したら、下記のエラーになりました Cannot convert value of type array to string 原因 テーブルに複合PK使っていました。 その場合、接続元...2022.11.14CakePHPCakePHP4
LaravelLaravel Sailでphpmyadminコンテナを追加する Laravel Sailでphpmyadminを使う方法です。 sailが作ったdocker-compose.yml の services セクションに以下を記載しましょう。 もしくは、docker-compose.override.yml...2022.11.10LaravelLaravel8.x