2023

スポンサーリンク
Laravel

[Laravel] 配列のバリデーションルールの書き方

概要 Laravelで配列のバリデーションルールを定義する場合、配列自体と配列の要素にそれぞれルールを定義する必要がある。また、多次元配列の場合、各次元のルールを定義する必要がある。 サンプル 通常の配列(一次元配列)の場合 <?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; class St...
Laravel

[Laravel] 定数定義と定数の利用方法

概要 Laravelで定数を定義する場合、configやModelなどに定義することができる。しかし、個人的にはConstsディレクトリを作成し、その中に定数ファイルを格納するのが最もわかりやすいと思う。 サンプル 定義 <?php namespace App\Consts; class ColorConst { const COLOR_RED = 1; const COLOR_BLUE = 2;...
Laravel

[Laravel] ページネーションの簡単なサンプル

コントローラ public function index(Request $request): View { $items = Item::orderBy('id', 'desc')->paginate(50); return view('items.index', ); } ビュー @if ($items->hasPages()) 全{{ $items->total() }}件中{{ $item...
スポンサーリンク
PHP

[PHP] POSTデータが途中で切れてしまう原因(max_input_vars)

概要 PHPの設定項目にあるpost_max_sizeはPOST送信全体のデータサイズ上限を決めるものだが、それとは別にmax_input_varsというPOST送信の数の上限を決める項目がある。 POST送信する値が多い場合、サイズはpost_max_size以内であっても個数がmax_input_varsをオーバーしてしまうとオーバーした分の値が切り捨てられてしまう。max_input_var...
PHP

[PHP][Laravel] フォームから送信された配列をintにキャストする方法

概要 フォームから送信された値は数値であっても文字列として扱われる。array_map関数の第1引数(コールバック)にintval関数、第2引数にフォームから送信された配列、を指定するとint配列を生成することができる。 $numbers = array_map('intval', $request->input('numbers')); Laravel コントローラで以下のようにする。 publ...
ノウハウ・知識

サイトマップが「 取得できませんでした」となる場合の解決方法 [サーチコンソール]

概要 Googleのサーチコンソールで「新しいサイトマップの追加」からsitemap.xmlを登録しても「取得できませんでした」となってしまうことがある。 これはを正常にWEBサーバにアップしても解決することができない。 解決方法 「新しいサイトマップの追加」で指定するsitemap.xmlの後に何らかのパラメータを付与すると「成功しました」となる。例えば「」のようにする。なぜこれで解決するのかは...
ノウハウ・知識

アソシエイト・ツールバーの設定画面が表示されない?

概要 数日前からamazonアソシエイト管理画面の「商品リンク」⇒「アソシエイト・ツールバー」メニューにある「アソシエイト・ツールバーの設定はこちら」のリンクをクリックしても「アソシエイトツールバーの設定」画面が表示されなくなってしまった。 解決方法 メインメニューではなく、アカウントのドロップダウンメニューから辿ると正常に表示される。 1. 画面右上のアカウント名⇒「アカウントの管理」をクリック...
PHP

[PHP] 列挙型(Enum)の使い方

定義 <?php enum Color: int { case RED = 1; case BLUE = 2; case GREEN = 3; public function label(): string { return match ($this) { self::RED => '赤', self::BLUE => '青', self::GREEN => '緑', }; } public fu...
CSS

[CSS] [jQuery] option要素をdisplay:noneで非表示にする方法(Safari対応)

概要 <option style="display:none">hoge</option>とするとoption要素を非表示にすることができるが、Safariでは表示されてしまう。 解決方法 <span style="display:none"><option>hoge</option></span>のようにoption要素をラップしたspan要素をdisplay:noneとすることで、Safari...
Laravel

[Laravel] データを更新してもリレーション先が変更されない?

概要 Laravelのモデルでリレーションを定義した場合、一度リレーション先のモデルを参照するとその参照が保持される。このことはデータを参照するだけであれば問題ないが、データを更新した場合、古いリレーション先を参照することになってしまう。 ※マニュアルに書かれていることではないため、もし詳しい方がいらっしゃいましたらコメントください サンプル 例えば以下のようにusersテーブルとitemsテーブ...
スポンサーリンク