Это проект Laravel 5. У меня стандартная форма отправлена. Я пытаюсь отправить идентификатор каждой учетной записи, на которую нажали, из результатов функции поиска, добавленной в компонент vue.
Нажатые детали затем сохраняются в скрытой форме ввода под названием «grantedUsers». Это имеет возможность хранить более одного значения. Поэтому я использовал имя grantUsers[].
После отправки формы в серверную часть я добавил значение DD, и оно показывает все значения, но в одном индексе вместо отдельных индексов для каждого. Это усложняет эффективную обработку данных.
Очевидно, я неправильно отправляю значение на скрытый ввод. Будем признательны за любую помощь в разделении каждого идентификатора на отдельные индексы.
Код
<input type = "hidden" name = "grantedUsers[]" :value = "hiddenData">
//hiddenData is an empty array at initialisation.
data() {
return {
keywords: null,
results: [],
granted: [],
hiddenData: []
};
},
addUser(result) {
this.granted.push(result);
this.results.splice(this.results.indexOf(result), 1);
this.hiddenData.push(result.id);
},
removeUser(grantee) {
this.results.push(grantee);
this.granted.splice(this.granted.indexOf(grantee), 1);
this.hiddenData.splice(this.hiddenData.indexOf(grantee.id), 1);
}
//The backend is outputting this on the DD
array:1 [▼
0 => "1,2"
]
я пытаюсь разобраться
array:2 [▼
0 => "1"
1 => "2"
]






Добавление [] к имени поля ввода полезно только в том случае, если у вас есть несколько полей ввода с этим именем. Он не преобразует значение одного поля в массив.
Таким образом, вы можете просто удалить [] из имени и сделать простой explode в строке, чтобы сделать ее массивом.
dd(explode(',', $request->grantedUsers));