具有laravel参数的动作路线中的未定义变量

时间:2018-07-17 08:49:28

标签: laravel laravel-5.6

这是我的观点,我想将r {{$ i}} _ selected传递给控制器​​,但这给了我一个错误。未定义的变量:enterprise。我该怎么解决?

<form name="frm-example" id="frm-example" 
    action="{{ route('pengawas_alokasi.store', $enterprise ) }}" 

    method="post">
        {{ csrf_field() }}


        <div class="table-responsive text-center">
            <table class="table table-borderless table-striped table-hover" id="myTable">
                <thead class="thead-dark">
                    <tr>
                        <th></th>
                        <th class="text-center">#</th>
                        <th class="text-center">Nama Perusahaan</th>
                    </tr>
                </thead>

                <?php $i=1;?> @foreach($enterprises as $enterprise)
                 <tr>
                    {{--
                    <td></td> --}}
                    <td>
                    <input type="checkbox" name="r{{$i}}_selected" value="{{$enterprise->id}}">
                    </td>


                    <td>{{$i}}</td>

                    {{-- <td>
                    <input type="hidden" name="nomor{{$i}}" value="{{$i}}" size="3">{{$i}}</td> --}}


                    <td>{{$enterprise->nama_perusahaan}}</td>
                    {{-- <td>
                    <input type="hidden" name="nama_perusahaan{{$i}}" value="{{$enterprise->nama_perusahaan}}" size="3">{{$enterprise->nama_perusahaan}}</td> --}}

                </tr>
                <?php $i=$i+1;?> @endforeach
            </table>
        </div>

        <div class="form-group">
            <input type="submit" name="" class="btn btn-primary" value="Submit">
        </div>
</form>

这是负责以上视图的控制器

public function insert($id)
{
     $enterprises = Enterprise::get();      
     return view('pengawas.pengawas-insert-alokasi', compact('enterprises'));
}

这是应该在视图表单中存储要检索的值的控制器

public function store_enterprise(Request $request){
//I'm not doing it yet    
dd($request);

}

2 个答案:

答案 0 :(得分:0)

因为您正在从控制器发送“企业”,并且正在尝试发送表单操作中的“企业”

答案 1 :(得分:0)

您可以在表单中使用隐藏变量,而不是使用URL变量:

<input type="hidden"  name="enterprise" value="{{$enterprise}}">

并在您的控制器中:

public function insert(Request $request)
{
     //get enterprise value here
     $enterprise = $request->enterprise;

}