Laravel превращает результат массива множественного выбора в строку - PullRequest
0 голосов
/ 28 октября 2018

У меня есть одна проблема, которую я не могу решить:

У меня есть форма с большим количеством входных данных.Чтобы сохранить запрос в чистоте, я отсортировал входные имена по массивам.Все работает как положено.Единственная проблема в том, что я не могу получить доступ к значениям мультиэлементного ввода.

Мое поле ввода:

<select multiple name="company[jobs][]">
    <option value="" disabled selected>Beschäftigte Berufe</option>
    <option value="ABC">ABC</option>
    <option value="DEF">DEF</option>
    <option value="GHI">GHI</option>
</select>

И я пытаюсь преобразовать это в строку (каждая опция отделена;) с этим php-кодом (это функция, но это не имеет значения).Этот код находится внутри модели company, и я вызываю метод с $company->shortEdit($request->company);.

Заголовок метода выглядит следующим образом:

public function shortEdit($request) {

    $jobs = "";
    foreach($request->jobs as $job) {
        $jobs = $jobs . ";" . $job;
    }

}

Но я получаю эту ошибку:

Попытка получить свойство 'jobs' не-объекта

Как я могу это исправить?Код отлично работает, если мой выбор не является многомерным массивом.

И да, я выбросил запрос, и массив company[jobs] не пуст.

Ответы [ 2 ]

0 голосов
/ 28 октября 2018
public function shortEdit($request) {

    $jobs = "";
    foreach($request->input('company.jobs') as $job) {
        $jobs = $jobs . ";" . $job;
    }

}
0 голосов
/ 28 октября 2018

name вашего ввода company, поэтому правильный путь -

$request->company['jobs'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...