如何在 laravel 5.6 的一个刀片文件中使用不同的形式

Posted

技术标签:

【中文标题】如何在 laravel 5.6 的一个刀片文件中使用不同的形式【英文标题】:how to use different forms in one blade file in laravel 5.6 【发布时间】:2019-01-10 05:20:40 【问题描述】:

我正在使用 laravel 5.6,并且正在开发自动分类 Web 应用程序。在我的应用程序中,我有 3 种不同的车辆类别,如汽车、货车、卡车,并且我有刀片文件来选择这三种不同的车辆类型。当我选择这辆车时,我的网址显示如下,

http://localhost:8000/post-ad/Truck/8 <- this is category id

http://localhost:8000/post-ad/van/7

http://localhost:8000/post-ad/Car/5

现在当我点击上述车辆类别页面重定向到 show.blade.php 文件时,现在我需要 3 个不同的表单来向每辆车辆提交数据,这是我的车辆表单,汽车表单

<form method="post" action="url('form')" enctype="multipart/form-data"> 
            csrf_field()

            <input type="hidden" id="cid" name="cid" value=" $catagories->id " />
        <div class="form-group">
        <label for="exampleFormControlSelect1">District</label>
        <select class="form-control" id="exampleFormControlSelect1" name="district">

        </select>
        </div>

        <div class="form-group">
        <label for="exampleFormControlSelect1">Town</label>
        <select class="form-control" id="exampleFormControlSelect1" name="town">

        </select>
        </div>

        <div class="form-group">
        <label for="exampleFormControlSelect1">Brand</label>
        <select class="form-control" id="exampleFormControlSelect1" name="brand">

        </select>
        </div>

        <div class="form-group">
        <label for="exampleFormControlSelect1">Model</label>
        <select class="form-control" id="exampleFormControlSelect1" name="model">

        </select>
        </div>
</form>

货车形式

<form method="post" action="url('form')" enctype="multipart/form-data"> 
            csrf_field()

            <input type="hidden" id="cid" name="cid" value=" $catagories->id " />
        <div class="form-group">
        <label for="exampleFormControlSelect1">District</label>
        <select class="form-control" id="exampleFormControlSelect1" name="district">

        </select>
        </div>

        <div class="form-group">
        <label for="exampleFormControlSelect1">Town</label>
        <select class="form-control" id="exampleFormControlSelect1" name="town">

        </select>
        </div>

        <div class="form-group">
        <label for="exampleFormControlSelect1">Brand</label>
        <select class="form-control" id="exampleFormControlSelect1" name="brand">

        </select>
        </div>

        <div class="form-group">
        <label for="exampleFormControlSelect1">Model</label>
        <select class="form-control" id="exampleFormControlSelect1" name="model">

        </select>
        </div>
</form>

卡车形式

 <form method="post" action="url('form')" enctype="multipart/form-data"> 
                csrf_field()

                <input type="hidden" id="cid" name="cid" value=" $catagories->id " />
            <div class="form-group">
            <label for="exampleFormControlSelect1">District</label>
            <select class="form-control" id="exampleFormControlSelect1" name="district">

            </select>
            </div>

            <div class="form-group">
            <label for="exampleFormControlSelect1">Town</label>
            <select class="form-control" id="exampleFormControlSelect1" name="town">

            </select>
            </div>

            <div class="form-group">
            <label for="exampleFormControlSelect1">Brand</label>
            <select class="form-control" id="exampleFormControlSelect1" name="brand">

            </select>
            </div>

            <div class="form-group">
            <label for="exampleFormControlSelect1">Model</label>
            <select class="form-control" id="exampleFormControlSelect1" name="model">

            </select>
            </div>
    </form>

当一些用户单击一个刀片文件上的每个车辆链接时,我需要显示每个表单。我该怎么做?

【问题讨论】:

您可以简单地创建一个表单并为车辆类型添加html select 不能,因为这是一些例子,我有不同形式的不同数据 【参考方案1】:

您可以为您的路线添加名称,例如:

Route::group(['prefix' => 'post-ad'], function () 
   Route::get('Truck/id', 'TruckController@fetch')->name('track');
   Route::get('Van/id', 'VanController@fetch')->name('van');
   Route::get('Car/id', 'CarController@fetch')->name('car');
)

将您的表单放到另一个文件中,例如:

truck-form.blade.php
van-form.blade.php
car-form.blade.php

在你看来:

@if(request()->route()->getName() = 'track')
    @include('truck-form')
@elseif(request()->route()->getName() = 'van')
    @include('van-form')
@elseif
    @include('van-form')
@endif

【讨论】:

如果有其他条件,我应该把它放在哪里?根据我的问题在我的 show.blade.php 文件中? 这里有一个问题。我正在使用我的路线,因为这个 localhost:8000/post-ad/van/7 van 表示类别名称,7 是类别 ID。那么,我该如何根据您的回答设置我的路线,例如 Route::get('Truck/id', 'TruckController@fetch')->name('track');跨度> @banda 更新答案,只是带前缀的用户组,我认为您需要更多关于 laravel 中的路由laravel.com/docs/5.6/routing 好的,我得到了路线,但控制器仍有一些问题我已经为车辆创建了控制器,但不知道将 fetch 方法放在这里.. 实际上我是新手laravel public function fetch($id) $car = Car::where('id', $id)->first(), return view('show', ['vehicle' => $汽车]);

以上是关于如何在 laravel 5.6 的一个刀片文件中使用不同的形式的主要内容,如果未能解决你的问题,请参考以下文章

如何在刀片视图 laravel 5.6 中访问定义的关系

如何在 laravel 刀片中显示 iframe

在Laravel 5.6中重置密码链接

Laravel 5.1 如何在刀片文件上使用 old('') 助手进行无线电输入

如何在刀片模板 laravel 中使用单个文件 vue 组件?

如何在 laravel 的刀片文件中显示最新('updated_at')记录