Vue.JS3

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

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

FormDataで入れ子のデータをPOSTする方法

fetchでこんな感じのデータをPOSTしたい場合どうするのか? [ 0 => [ 'id' => '1', 'name' => 'aaaaa', ], 1 => [ 'id' => '2', 'name' => 'bbbb', ], ] ...
Laravel

[Laravel]孫の集計を行う

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

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

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

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

Queryの共通化 例えばこんなQueryがあったとして $users = \App\User::where('age', '>=', 20) ->whereDate('created_at', today()) ->get(); mode...
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 6 Vue 2.7 型定義ファイルがないモジュールがあったので、@typeフォルダを作って型定義ファイルを入れてビルドしてみたが・・・ Module build failed (from ./node_modu...
開発

Vue2.7でteleportが使えない

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

[typescript]変数の型が何か調べたい時

プリミティブ型なのかオブジェクトなのか調べたい時は typeofでしらべる object とか number などの文字列が返ります。 オブジェクトがclassの場合は instanceof でClass判定ができる。こんな感じ class...
TypeScript

[TypeScript]type の 型の名称

typeで定義した変数の型の名前を取得したい場合 typeof()だと、object としか出てこないが object.constructor.name などとすると、型の名称まで取得できる。
TypeScript

TS7053: Element implicitly has an ‘any’ type because expression of type …..

可変のオブジェクトキーの存在チェックをしたかったのだが if(requestOptions.headers && !requestOptions.headers)){ requestOptions.headers = { ...reques...
TypeScript

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

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

[TypeScript]ジェネリクス型のデフォルト

TypeScriptで呼び出し時にジェネリクスを指定しなかった場合にデフォルトで型を指定したい場合はこうする function hoge<T=string>(val:T) ジェネリクスを指定することも可能 function hoge<T,S...
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)」 + 「,」で設定画面を開きます。 検索ボックスに”al...
開発

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

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

コードレビューは難しい

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