開発

Laravel

laravel8のUnitTestでfackerが使えない

UnitTestとFactoryを作成してテストを実行してみたらUnknown formatter "関数名" fakerというエラーになってFakerが使えなかった。作成時に利用したコマンドはこんな感じartisan make:test ...
Vue.JS3

コンポーネントロード時のエラー

: Error compiling template:Templates should only be responsible for mapping the state to the UI. Avoid placing tags with...
Laravel

[Laravel]孫の集計を行う

Laravelで孫テーブルの集計をしたい場合は hasManyThrough を使ってリレーションを定義した上で、hasManyThroughで定義したリレーションに対してwithCount()などの集計関数を使う。具体的にはこんな感じpu...
Laravel

[Laravel]WebAPIの内容がソートされていない

LaravelでCollectionでソートしたデータをJSONで返却して、JavaScriptで表示させたが、なぜかソートされていない。理由JSONオブジェクトは連想配列は順番は保証されずキー名基準になるため無意味。Collection:...
Laravel

Laravelのモデルを共通化する(Scope)

Queryの共通化例えばこんなQueryがあったとして$users = \App\User::where('age', '>=', 20)->whereDate('created_at', today())->get();modelでpub...
Laravel

model::update()で更新するとObserverでキャッチできない

LaravelにObserverという機能があって、モデルが作成されたり変更された時のイベントコールバックを登録することができるのですが、なぜかUpdate時のイベントがキャッチできない問題に遭遇しました。原因単一モデルじゃないとキャッチで...
Laravel

observerをキャンセルする

Laravelにはobserver機能があって、Modelに書き込みが会った時のイベントをキャッチして何かやらせるということができます。CakePHPで言うところのafterSave()みたいなものですね。Observer自体は公式マニュア...
Laravel

[Laravel Mix] 型定義ファイル(.d.ts)を作ったら”TypeScript emitted no output”エラーになる

環境Laravel-mix 6Vue 2.7型定義ファイルがないモジュールがあったので、@typeフォルダを作って型定義ファイルを入れてビルドしてみたが・・・Module build failed (from ./node_modules/...
開発

Vue2.7でteleportが使えない

Vue2.7でVue3の teleport使えないのか?: Unknown custom element: <Teleport> - did you register the component correctly? For recursi...
TypeScript

[TypeScript]オブジェクト配列にしたら型が剥がれた

Vueでこんな型を作ったtype queryOptions = {:Ref|string|number}で、こんな感じでオブジェクト内のキーと値をとってみたのだが・・・for(const key in options) {  if(type...
Laravel

Laravel adminでユーザーのパスワードを管理する

Laravel Adminを使ってユーザーの情報を管理したい場合があると思います。ただ、FormやModelが通常とは違いAdminで独自なので、前処理、後処理をどうやってけけばいいのか悩みますね。結論から言うとこんな感じにすると良いかと思...
Laravel

Uncaught TypeError: Vue.use is not a function

Laravel mix + vue で開発しているとUncaught TypeError: Vue.use is not a functionが、出たり出なかったりすることがあるのだが、ようやく意味がわかった。ビルド途中でリロードする発生す...
Laravel

Laravel Mix+Vue2をTypeScriptに対応させようとしてハマった件

LaravelMix+Vue2をTypeScriptに対応させるべく色々やっていたのだが色々はまりましたので、その時の忘備録です。こんなののために1日潰れました。いまさらVue2にするとかはないと思いますがあまり情報がなかったので残しておき...
開発

[VSCode]ブレークポイントの赤ポチが出ない

ブレークポイントの赤ポチが出ない行番号の横をクリックするとブレークポイントが設定されて●が表示されますが、これができない場合の対処です。設定を確認「command (ctrl)」 + 「,」で設定画面を開きます。検索ボックスに”allowB...
開発

パスワード入力時の文字数制限は大きめにしろ

会員登録するのにパスワードを登録しますが、パスワードは10文字までですみたいに、短いパスワードしか設定できないサイトははっきり言ってゴミです。パスワードを平文で管理している可能性が高いので、登録するのは控えたほうがいいでしょう。まともな実装...
開発

コードレビューは難しい

コードレビューの思い出ふた昔(苦笑)ぐらい前にも、コードレビューという文化がありました。キャリアの最初のころを思い出してみると、確かにコードレビューをした覚えがあります。当時は、ソースコードをプロジェクターを使ってスクリーンに映し、メンバー...
CakePHP

[PHP]ゴミがレンダリングされる

CakeなりLaravelなりで、下手にコンソール出力するデバッグプリントを使って消し忘れるとめんどくさいことになります。フレームワークだと、いろんなファイルをを経由して呼ばれるので、消し忘れるとどこでやってるかわからなくなります。フレーム...
CakePHP3.x

[CakePHP]patchEntity()で渡したデータがNULLになる件

CakeでpatchEntity()で渡したカラムの中身がなぜかNULLになってしまう問題が発生。原因は、渡したデータの変数の型やフォーマットが、DBのカラムの型と一致していなかったり、変換できない場合、NULLになるというものでした。発生...
Laravel

Laravel sail によるデバッグ設定

Laravel sail で構築したアプリのPHPデバッグを行う方法です。設定変更Xdebugについては標準でVer3系のものがインストールされています。.ENV ファイルに以下の環境変数をセットSAIL_XDEBUG_MODE=devel...
Laravel

[Laravel] sailのDBサーバーへのアクセスが拒否される

Laravel sail ベースで作成したコンテナのDBで新しいDBを作ろうとしたら・・・ユーザー 'sail'@'%' によるデータベース 'xxxxxxx' へのアクセスは拒否されました。原因デフォルトで作られるユーザーの権限ではダメら...