学習備忘録

よく忘れてしまうのをここにメモしておく

Laravel

コントローラからjsに値を渡す方法

@jsonを利用する フロント側 <script> let companies = @json($companies); </script> -js側 - companiesにhtmlで指定した値がjson形式で入っている。 $(document).on("change", ".select-company", function(){ let val = $(this).val() companies.forEach(company => { if(v…

中間テーブルのカラムに値を持たせる方法

中間テーブルのstatusカラムに値を指定したいときはこんな感じで書く。 format('Y-m-d H:i:s'); $request->user()->send_like_user()->detach($user); $request->user()->send_like_user()->attach($user, ['status' => 'sended']); //ここがポインんと retu…

検索した値を保持しつつページネーションする方法 && リレーション先で条件を指定する方法

課題 検索している値を保持したままページネートしたい リレーション先で条件を指定する方法。 対処法 状況としては、userにリレーションしているuser_profileで検索を掛けたい。 リクエストのgetメソッドでageと、residenceが送られてきたとする。 その場合…

テストを行うために必要になる設定あれこれ

課題 テストを行いたい時にスムーズにテストがかけるようにしたい 対処法 テスト時には他のデータベースを使用するために、phpunit.xmlを以下のように変更 <php> <server name="APP_ENV" value="testing"/> <server name="BCRYPT_ROUNDS" value="4"/> <server name="CACHE_DRIVER" value="array"/> <server name="DB_CONNECTION" value="mysql"/> //ここ </server></server></server></server></php>

入力フォームの初期値に正しい情報を入れる方法

課題 text入力ボックスで、バリデーション時には入力していた値、初期にはDBに登録されていた値を表示する方法 select入力ボックスで、バリデーション時には入力していた値、初期にはDBに登録されていた値を表示する方法 対処法 こちらは比較的簡単 <label for="job">職業</label> <span class="badge badge-primary">必</span>…

Laravel+Vue vue-cropperjsを使用しトリミングした画像データ(base64エンコードされたデータ)をアップロードする方法

課題 vue-cropperjsを使用しトリミングまではできたが、その画像をアップロードする方法がわからない。 対処法 vueコンポーネントでの書き方。まんまコピーすれば、ファイル選択及び、トリミングまで可能。 <template> <div> <input type="file" v-on:change="onFileChange()" class="mb-3"> <input type="hidden" :value="imgData" name="img_data"> <div class="content"> </div></div></template>

Laravel FormのInput幅を調整する方法。

課題 form画面を作る際、よくinput部分が画面一杯で幅を狭めたい時がある。その方法にいつも迷う。 対処方法 幅を狭めたい対象をdivで囲い、classにw-25、w-50、w-75のどれかを指定してあげる。 @csrf <p class="h4 text-center mb-4">ユーザー情報編集</p> <div class="form-group"> </div>

Carbonのformatをyyyy-mm-dd hh:mm:ss表示にしたい

created_atに登録するときは基本carbonでformatするがいつも、formatの仕方を忘れるのでここにメモしておく。 format('Y-m-d H:i:s');

バルクインサートをする方法

課題 DBにデータを登録する際に1件ごとにやっていると時間がかかるため、バルクインサートをしたい データがない場合にはcreate、すでに存在している場合はupdateするようにしたい。 対処 任意の場所にBulkInsertBuilder.phpファイルを以下のように作成する…

バリデーション以外で$errors内容を表示する方法

課題 requestのvalidationに引っかかった際は$errorsに勝手に値が入るが、それ以外でエラーになったときは独自でerrorsに値を入れてリダイレクトさせなきゃいけない。 対処 以下のコードを参考に。withErrors()の引数が$errorsに入る。またwithInput()で元…