无法在laravel中获得多选的价值

时间:2017-09-20 19:24:17

标签: php laravel laravel-5

        if ($request->input('workerRGroup.sAgent')) {
            $worker->isAgent = 1;
        }

        if ($request->input('workerRGroup.supervisor')) {
            $worker->isSupervisor = 1;
        }

        if ($request->input('workerRGroup.human')) {
            $worker->isHuman = 1;
        }

        if ($request->input('workerRGroup.tech')) {
            $worker->isTechnical = 1;
        }

这是我尝试过的,laravel docs用点表示的东西,所以我使用workerRGroup这是select的名称和select选项的值。

这是我的HTML

<label><b>Rank Group</b>
        <select multiple name="workerRGroup[]">
          <option value="sAgent">Security Agent</option>
          <option value="supervisor">Supervisor</option>
          <option value="human">Human Resources</option>
          <option value="tech">Technical</option>
        </select>
      </label>

1 个答案:

答案 0 :(得分:0)

因为workerRGroup有像['sAgent', 'supervisor']一样的数组,所以问题是workerRGroup是一个关键字,它的值类似于['sAgent', 'supervisor']所以如果我们谈论supervisor它不是一个关键值,它的关键是1

因此您可以像$request->workerRGroup[1] //主管

那样访问它

如果你必须检查它,你可以这样做

if (in_array('sAgent', $request->workerRGroup)) {
    $worker->isAgent = 1;
}

    ....