Я пытался отправить массив через маршрут в другое представление, но когда я использовал функцию get_defined_vars()
, я понял, что отправляю строку с информацией. Возможно ли это сделать?
эта форма, на мой взгляд, должна отправить массив на мой маршрут
<form action = "/trans" method = "POST">
@csrf
<div class = "input-group">
<input type = "hidden" class = "form-control" name = "r" value = "{{$cooperado}}">
<button type = "submit" class = "btn btn-primary">
<span>+</span>
</button>
</span>
</div>
</form>
то этот маршрут должен отправить массив в другое представление
Route::post('/trans', function(){
$j = Input::get('r');
return view('movs.create')->with(['j'=>$j]);
});
это контроллер
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Movimentacoes;
class MovimentacoesController extends Controller
{
public function create()
{
//
return view('movs.create');
}
}
нет, так и должно быть? я все еще изучаю MVC
если вы вызываете return dd($j), на что это похоже? может быть, ваш $cooperado отформатирован как строка
маршруты.php
Route::post('/trans', 'MovimentacoesController@create');
контроллер
use Illuminate\Http\Request;
use App\Movimentacoes;
class MovimentacoesController extends Controller
{
public function create(Request $request)
{
$j = $request->request->get('r');
return view('movs.create')->with(['j' => $j]);
}
}
все еще получаю строку, не знаю, почему
Атрибут <input type = "hidden" class = "form-control" name = "r[]" value = "{{$cooperado}}"> r — добавить квадратные скобки?
теперь он распознается как массив, но только с одним значением, строкой
вы можете использовать функцию "взорвать" для преобразования $cooperado в строку, отправить ее через форму и использовать функцию "взорвать" для преобразования строки в массив, где это необходимо
Такой код в теге формы:
<input type = "hidden" class = "form-control" name = "r[]" value = "{{$cooperado}}">
<input type = "hidden" class = "form-control" name = "r[]" value = "{{$cooperado}}">
<input type = "hidden" class = "form-control" name = "r[]" value = "{{$cooperado}}">
отправить эту форму
тогда Input::get('r')
будет массивом!
Я надеюсь, что это поможет вам.
Ваш код вообще не проходит в контроллер??