バージョン Laravel 5.8 概要 JSONで渡された複数行のデータに対してバリデーションする。 例として以下のJSONに対して、バリデーションを実施する。 ◾️JSON [{"id": 1, "val": "abcde"}, {"id": 2, "val": "あいうえお"}, {"id": 3, "val": ""}] ◾️バリデー…
バージョン Laravel 5.8 概要 ログイン後に遷移するリダイレクト先を例えばダッシュボード画面(/dashboard)にしたい。 コード ◾️LoginController class LoginController extends Controller { use AuthenticatesUsers; /** * Where to redirect users afte…
バージョン Laravel 5.8 Vue.js 2.6.10 概要 郵便番号-住所検索API (zipaddress.net)の外部APIを呼び出して郵便番号から住所を取得する。 ※なぜこの方式を採用したのかは最後に記載します。 以下の流れになる。 vueから自サイトのAPIを呼び出してLaravel側の…
バージョン C++:14 概要 例として複数のダイアログでトップエリアが同一の場合にそこを子ダイアログとして作成し、各ダイアログはそれを埋め込むだけで共通のデザインを実装できる。 要点 子ダイアログを親ダイアログで動的に生成する。 子ダイアログ自体を…
バージョン Vue.js 2.6.10 概要 routerのpushでURL遷移する際にpropsにデータを渡す方法。 コード ◾️hoge.vue(遷移元) <script> export default { methods: { newPage() { this.$router.push({ name: "user_list" , params: {user_code : this.userid}}).catch(() </script>…
バージョン Laravel 5.8 概要 LEFT JOINのON条件を複数指定する。 条件にはパラメータを渡したい。 コード ◾️Model $users = DB::table('users') ->leftJoin('posts as user_posts', function ($join) use ($type) { $join->on('users.id', '=', 'user_posts…
バージョン Vue.js 2.6.10 概要 一例として一覧表示の該当項目行の一部の値を更新し、その内容をリアクティブに表示反映する。 指定行を削除するのはググるとヒットしやすいが行の値の一部だけを更新するのがなかったので記載する。 コード ◾️hoge.vue <script> expo…
バージョン Vue.js 2.6.10 概要 pushを使えば遷移できるが、今回はパスだけ取得したいケース。 resolveを使えばパスを取得できる。URLパラメータのある場合もOK。 コード ◾️router.js { path: "/user/list", name: "userlist", component: () => import("./v…
バージョン Laravel 5.8 Vue.js 2.6.10 概要 たとえばURL登録フォームのバリデーション設定が以下の場合 'url' => 'max:100|nullable|active_url', 空白の場合はバリデーションで引っかからないはずだが vueから登録しようとするとactive_url(urlバリデーシ…
バージョン Laravel 5.8 概要 複合主キーやint型以外の主キーの場合にcreate()でレコード追加しようとしたらエラーが発生する。 そんな時はモデルに以下を追加する。 public $incrementing = false; 詳細は公式を。 Eloquent:利用の開始 5.8 Laravel 主キー…
バージョン Laravel 5.8 Vue.js 2.6.10 概要 Laravel側で管理しているconfigフォルダで管理している値や定数などを Vue側から呼ばれたAPIに渡して判定条件や表示文字列に使用する。 渡したい値が1つや2つであれがblade側で以下のようにして渡せる。 <hoge-component code="{{ $user_code }}"></hoge-component> しか…
バージョン Laravel 5.8 概要 パスワード変更機能で現在のパスワードをチェックするバリデーション処理。 コード use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; public static function getRules() { return [ 'password' => …
PHPフレームワーク Laravel入門作者:掌田津耶乃発売日: 2017/09/16メディア: 単行本 結論 Laravelは未経験 他の言語、フレームワークの経験有り webアプリケーションの開発経験がある 上記に当てはまる人にとって本書はLaravelの入口として超絶におすすめで…
バージョン Laravel 5.8 概要 レスポンスマクロを用いて、APIのレスポンスデータをカスタムして 成功時とエラー時(HTTPステースコードは200を返して、受信側でエラー処理をさせる)のフォーマットを合わせる。 コード ServiceProviderクラスを追加する。 ■a…
TOEICの単語対策として「英単語の語源図鑑」を購入。 英単語の語源図鑑作者: 清水建二,すずきひろし,本間昭文出版社/メーカー: かんき出版発売日: 2018/05/23メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る 本の内容 ざっくり言うと英…
バージョン Laravel 5.7 概要 発生した例外エラー(Exception)をHandler.phpのreportメソッドでbugsnagやslackなどに通知する処理があった場合 大量に発生するような例外を処理の対象外とする。 例としてAuthenticationExceptionを除外する。 コード ■App\Ex…
バージョン Laravel 5.7 概要 Laravelのログ機能を拡張して、UTCとJSTの時刻、IPアドレス、呼び出し元クラス名・メソッド名、 ユーザーIDを出力する。 なお、PHP側のタイムゾーンはUTCとする。 Laravelは5.6からログ出力方法が変わったのでそれ以前のバージ…
バージョン Laravel 5.7 概要 Usersテーブルの値はAuth::user()で取得できるが、例えばUsersテーブルに関連しているUser_Profilesなどからも値を取得したい場合。 EloquentのEager LoadingでRelationships情報を取得させる。 上記詳細はここを。 laravel.com…
バージョン Laravel 5.7 概要 Eloquentミューテタを使ってDBに登録されているUTC日時をユーザのタイムゾーン日時に変換して取得させる。 ミューテタを使えば日時だけでなく小文字大文字変換など色々できるので下記でご確認。 readouble.com コード mutate関…
バージョン C++ 11 概要 staticとしてstd::arrayをenumの値を使って初期化して使いたいがコンパイルエラーとなってしまう。 そんな時はconstexprを使う。 コード // .h class AnimalShop { public: enum class AnimalType { DOG = 0, CAT, MOUSE, LION, ELEP…
バージョン Bootstrap 4 概要 以下のケースを想定。 一覧表に「削除」ボタン(type=button)が複数あり、クリック時にBootstrap 4の確認ダイアログを表示して 「はい」なら選択した行のキーをsubmitする。 Bootstrap 4の確認ダイアログを出すだけなら公式サイ…
バージョン Laravel 5.7 概要 前の画面でURLクエリパラメータが指定されており、 その画面にリダイレクト バックした際にクエリパラメータを渡したい。 下記2タイプのどちらかで対応はできたが、単純にredirect()->back()で対応する方法が 見つからなかった…
概要 C++でカレントディレクトリを取得して、その上の親ディレクトリパスを取得する。 「..¥」を末尾に付与して1つ上のパスに移動する方法は 私の場合、別処理で「.」から拡張子位置を判断する処理があったため使えなかった。 コード char buf[MAX_PATH]; /…
バージョン Laravel 5.7 概要 例えば、画面に「年月日」と「時刻」の入力エリアがあり、 それらを連結してdatetimeとしてバリデーションしたい場合などで バリデーション検証される前にデータを修正させる。 コード ■FormRequest protected function getVali…
バージョン Laravel 5.7 概要 バリデーションエラーなどでリダイレクトで元の画面に戻した際に 入力データ以外にPHP側で用意した配列情報をbladeのJavascriptに渡す。 コード ■TestController.php // バリデータ if ($validator->fails()) { // 渡すデータ配…
概要 開始日と終了日のテキストボックスがある。 それぞれ必須入力ではなく、指定可能期間は本日〜1ヶ月後とする。 開始日が指定された場合のみ、「開始日 <= 終了日」の条件が発生。 コード public function rules() { $today = date("Y-m-d"); $nextmonth…
概要 select要素のセレクトボックスで階層化されたメインカテゴリーを選択すると 関連したサブカテゴリーに表示を連動させる。 ①サブカテゴリーの初期表示は未選択状態を示すoption要素のみを表示 ②メインカテゴリーで項目を選択する ③サブカテゴリーは連動…
ジグザグ線(波線)を描画する 開始点と終了点を指定し、ジグザグ線を描画する方法。 Javascriptだけでなく他の言語でも応用できる。 <html> <head> <script> class Point{ constructor(x,y){ this.x = x; this.y = y; } } var startP = new Point(50,60); var endP = new Point</head></html>…
本件はVisual Studio 2017でC++(VC++)開発時のみに発生する。 VS2015以前はコードのガイドラインを拡張機能「Indent Guides」、 VS2017以降はVSの標準機能として 「[オプション]>[テキストエディター]>[全般]>[表示]>[構造のガイド線を表示する]にチェッ…
コントローラ側でDBなどから初期値を取得し、bladeのold関数を使用している箇所に反映する方法。 バリデーションなどで戻ってきた場合には修正値が反映される。 <input type="text" id="remarks" name="remarks" value="{{ old('remarks' , $params['remarks'] ) }}"> old関数の第二引数に初期値の変数を指定すれば良い。 PHPフレームワーク Laravel入門作者: 掌…