【问题标题】:Laravel: Send an array through routeLaravel:通过路由发送数组
【发布时间】:2019-10-28 10:58:36
【问题描述】:

我试图通过路由发送一个数组到另一个视图,但是当我使用函数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 laravel laravel-routing


【解决方案1】:

routes.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]);
    }
}

【讨论】:

  • 还是得到字符串,不知道为什么
  • 属性 r - 添加方括号?
  • 现在它被识别为一个数组,但只有一个值,字符串
  • 您可以使用“implode”函数将$cooperado转换为字符串,通过表单发送,并在必要时使用“explode”函数将字符串转换为数组
【解决方案2】:

这样的代码在form标签中:

<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') 将是数组!
希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-24
    • 2015-06-16
    • 2018-02-13
    • 1970-01-01
    • 2017-12-05
    • 2015-06-25
    • 2015-04-06
    • 1970-01-01
    相关资源
    最近更新 更多