メサイア・ワークス

laravel5.1で、カテゴリー・サブカテゴリーのような親子セレクトボックスを作る方法

laravel5.1で、カテゴリー・サブカテゴリーのような親子セレクトボックスを作る方法

1, 親カテゴリー・サブカテゴリーのテーブルを作る。

2, テーブルを操作するためのmodelクラスを、それぞれに生成して、全レコードを返すメソッドを実装する

3, ProductsController::indexにてカテゴリーを取得。Viewに引き渡す

4, Viewにて、セレクトボックスを実装する
laravelのbladeでは、二次元配列を扱う事が出来ない?
print_r($value)では表示されるのでviewには渡されているが、$value[0]や$value[‘name’]だとエラーになってしまう!
しょうがないので、サブカテゴリーIDと親カテゴリーIDをカンマ文字列結合して、配列キーとして使った。

また、laravelのFormファサードでカスタムデータ属性を付与する方法が分からなかったので、サブカテゴリーのセレクトボックスは<?php ~ ?>で実装した
※カスタムデータ属性は、HTML5で追加された属性です。「data-任意の文字列=好きな値」でデータを保持でき、jQueryから操作できる!

5, このままだと、カテゴリーとサブカテゴリーが全て表示されてしまうので、jQueryで制御する
参考URL

プラグイン不要! jQueryで複数のセレクトボックスの選択肢を連動させる

これで、MySQLのレコードを使った親子セレクトボックスを実装できた!

モバイルバージョンを終了