Laravel получает некоторые значения флажка

Когда я использую получить некоторые значения из флажка по html:

<input type="checkbox" name="svdk_doiTuong[]" value="Mocoi"> Sinh viên mồ côi cả cha và mẹ<br/>
<input type="checkbox" name="svdk_doiTuong[]" value="Ngheo"> Sinh viên thuộc gia đình hộ nghèo (có sổ hộ nghèo)<br/>
<input type="checkbox" name="svdk_doiTuong[]" value="XuatSac"> Sinh viên có thành tích học tập xuất sắc học kỳ vừa rồi hoặc tân sinh viên là thủ khoa chuyên ngành.<br/>

И Laravel 5.x.x я использую объект запроса:

public function MyMethod(Request $request)
{
    $cameraVideo = $request->input('svdk_doiTuong');
    ...
}

Затем случаются ошибки «Преобразование массива в строку». Дайте мне какие-нибудь идеи, получите некоторые ценности, спасибо.

$ request-> получить ('svdk_doiTuong');

vishal pardeshi 11.04.2018 11:53

в какой строке появляется ошибка

afsal c 11.04.2018 11:55
$request->input('svdk_doiTuong'); вернет массив проверенных значений, поэтому обрабатывайте его как массив
lucidlogic 11.04.2018 11:55

Похоже, вы управляете запрошенным вводом как строкой, вам нужно знать, что это массив. Возможно, вы печатаете его с помощью echo, используйте вместо него dd().

Troyer 11.04.2018 11:56

@ab_ab: пробовал. у него все еще есть такой rerror.

Thanh Toàn 11.04.2018 12:02

опубликуйте свою полную функцию Mymethod ()

afsal c 11.04.2018 12:05

Судя по моему тестированию, $request->input('svdk_doiTuong');, $request->get('svdk_doiTuong'); или $request->svdk_doiTuong; не имеют никаких различий. Как сказал @Troyer, "проблема в том, что вы управляете полученными данными как String"

iamab.in 11.04.2018 12:18
0
7
1 705
2

Ответы 2

Вы должны попробовать это:

public function MyMethod(Request $request)
{
   $cameraVideo = $request->svdk_doiTuong;
   ...
}

ИЛИ ЖЕ

use Illuminate\Support\Facades\Input;
public function MyMethod(Request $request)
{
   $cameraVideo = Input::get('svdk_doiTuong');
}

опубликуйте свою полную функцию Mymethod ()

afsal c 11.04.2018 12:04

Простите. похоже, мой laravel не понимает «Ввод», хотя я использовал «использовать Ввод» ..... Ошибка: «Вход класса« не найден »»

Thanh Toàn 11.04.2018 12:12

есть ли другие коды в вашей функции @ ThanhToàn

afsal c 11.04.2018 12:15

@AddWebSolutionPvtLtd. Похоже, ваш код не может решить эту проблему

Thanh Toàn 11.04.2018 12:26

@afsalc правильно! но у меня нет идей конвертировать из массива в строки

Thanh Toàn 11.04.2018 12:27

Ваш код правильный, вы можете использовать $request->svdk_doiTuong;, но между $request->input('svdk_doiTuong') нет никакой разницы.

Проблема в том, что вы управляете извлеченными данными как String, когда это массив, возможно, вы пытаетесь распечатать его, выполняя echo для переменной, вместо этого вы должны использовать вспомогательный инструмент Laravel dd() или var_dump(), и если его массив не будет генерировать любая ошибка.

Вам нужно предоставить дополнительный код, чтобы узнать, что вызывает ошибку.

спасибо за подробное объяснение. Я не могу решить в объектах запроса, потому что он тестирует, прежде чем переходить к созданию «dd ()» или «var_dump ()» @@.

Thanh Toàn 11.04.2018 12:21

@ ThanhToàn поместил dd($cameraVideo); сразу после заявления $cameraVideo = $request->input('svdk_doiTuong'); и покажет нам, что вы получите.

iamab.in 11.04.2018 12:28

Когда я выбираю все 3 флажка; это выглядит так: array: 3 [▼ 0 => "Mocoi" 1 => "Ngheo" 2 => "Xuatsac"]

Thanh Toàn 11.04.2018 12:42

Похоже, я понял, что выбрал. Что мне делать, чтобы закончить?

Thanh Toàn 11.04.2018 12:45

@ ThanhToàn Это означает, что ошибка не исходит от $cameraVideo = $request->input('svdk_doiTuong'); в этой строке. Вы должны показать остальную часть кода, чтобы увидеть, какая строка вызывает проблему.

iamab.in 11.04.2018 12:46

Другие вопросы по теме