LaravelCollective创建单个表单选择从2个表组合

时间:2018-02-27 06:48:49

标签: forms laravel-5 laravel-5.5 laravelcollective

我有2个表,countrycity

table 'country'
+----+------------+
| id |    name    |
+----+------------+
|  1 | Indonesia  |
|  2 |  Malaysia  |
+----+------------+

country有很多city,因此country_id是外键:

table 'city'
+----+------------+------------+
| id |      name  | country_id |
+----+------------+------------+
|  1 |   Jakarta  |          1 |
|  2 |  Surabaya  |          1 |
|  3 |   Kuching  |          2 |
+----+------------+------------+

我想使用Laravel Collective创建一个分组下拉列表,以便

  1. country->name成为<optgroup>
  2. 的标签
  3. city按其country分组,并在HTML <option>中成为<select>的值
  4. LaravelCollective需要的是创建如下所示的数组:

    [
        'Indonesia' => ['1' => 'Jakarta', '2' => 'Surabaya'],
        'Malaysia' => ['3' => 'Kuching']
    ]    
    

    City::get(['name', 'country_id', 'id'])->toArray()给了我分组数组,但没有配对键值,country_id仍在创建的数组中。

    这样做有好办法吗?我是否必须使用foreachcontroller上的view使用传统HTML <select>而不是使用Laravel Collective或2下拉链接JavaScript?

    感谢〜

0 个答案:

没有答案