Laravel: отправить массив по маршруту

Я пытался отправить массив через маршрут в другое представление, но когда я использовал функцию 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');
    }
}

Ваш код вообще не проходит в контроллер??

Chin Leung 13.06.2019 21:33

нет, так и должно быть? я все еще изучаю MVC

Jhonatan Mendes 13.06.2019 21:37

если вы вызываете return dd($j), на что это похоже? может быть, ваш $cooperado отформатирован как строка

Matius Nugroho Aryanto 14.06.2019 06:39
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
82
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

маршруты.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]);
    }
}

все еще получаю строку, не знаю, почему

Jhonatan Mendes 13.06.2019 21:55

Атрибут <input type = "hidden" class = "form-control" name = "r[]" value = "{{$cooperado}}"> r — добавить квадратные скобки?

Иван Сардыко 13.06.2019 21:59

теперь он распознается как массив, но только с одним значением, строкой

Jhonatan Mendes 13.06.2019 22:06

вы можете использовать функцию "взорвать" для преобразования $cooperado в строку, отправить ее через форму и использовать функцию "взорвать" для преобразования строки в массив, где это необходимо

Иван Сардыко 13.06.2019 22:15

Такой код в теге формы:

<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') будет массивом!
Я надеюсь, что это поможет вам.

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