foreach循环中的表单无法正常工作

时间:2016-02-23 09:26:28

标签: php laravel foreach

我在laravel 5.2中创建了一个测试博客网站,并尝试创建一个页面来管理所有类别。 到目前为止,一切工作正常,但我希望有一个包含类别列表的表,并对每个类别进行内联编辑。通常我会在其中创建一个表和一个foreach循环,每行都有一个表单,但这次它不能正常工作。我读到表格中的表格是一种不好的做法,所以我试图用div来制作它,但它也不起作用。

以下是视图的代码:

@foreach($categories as $category)
 <form action="/blog/categories/edit/{{ $category->id }}" method="post">
  <div class="row">
   <input type="hidden" name="_token" value="{{ csrf_token() }}">
   <div class="col-md-2"><input type="text" value="{{ $category->id }}" name="id" class="category-input-id" readonly="readonly"></div>
   <div class="col-md-2">{{ $category->created_at }}</div>
   <div class="col-md-2">{{ $category->updated_at }}</div>
   <div class="col-md-2">
    <label for"edit" class="btn btn-primary"><i class="fa fa-pancil"></i></label>
    <input type="submit" id="edit" name="edit" class="hidden" />
    <label for="delete" class="btn btn-danger"><i class="fa fa-trash"></i></label>
    <input type="submit" id="delete" name="delete" class="hidden" />
   </div>
 </div>
</form>
@endforeach

在控制器中:

public function editcategory (Request $request, $id)
{

    dd($request->all());
}

我没有粘贴所有代码来获取数据,因为我在这里没有收到正确的数据。

输出只是循环中的第一行! 每当我点击它时,它只获得第一个元素。

array:5 [▼
  "_token" => "wUhnsw8AoAuUDsuElALg8nM91bFG4EkUHTEAkkjp"
  "id" => "16"
  "name" => "Category Name"
  "description" => "desc test"
  "edit" => "Send"
]

哪里出错了? 我也尝试将表单放在循环外面并使用数组作为元素(比如name =&#34; description []&#34;等等。)但我不知道如何获得正确的一次我通过了所有阵列!

由于

1 个答案:

答案 0 :(得分:2)

如果您不需要表单,可以通过<a>标记轻松完成此操作,还可以在以下表格中输出您的类别:

@foreach($categories as $category)
        <tr>
            <td style="text-align:center">{{$category->field1}}</td>
            <td style="text-align:center">{{$category->field2}}</td>
            <td style="text-align:center">{{$category->field3}}</td>
            <td style="text-align:center">{{$category->field4}}</td>

            <td style="text-align:center"><a href="{{URL::to('/blog/categories/edit/'.$category->id)}}">{{ Lang::get('global.edit')}}</a></td>
            <td style="text-align:center"><a href="{{URL::to('/blog/categories/delete/'.$category->id)}}">{{ Lang::get('global.delete')}}</a></td>
        </tr>
@endforeach

当您发送安全问题的帖子时,您需要传递令牌<input type="hidden" name="_token" value="{{ csrf_token() }}">,但在您的情况下,您不需要通过<a>标记获取帖子