【问题标题】:how to print request both modelname and districtname in Laravel 5.6?如何在 Laravel 5.6 中打印请求模型名称和区域名称?
【发布时间】:2019-05-12 10:36:45
【问题描述】:

使用 laravel 5.6 和 mysql。我有以下表名vehicles

id  name  categoryname  brandname    model     districtname
1   juy   car           toyota       121       coba
2   gty   van           nissan       caravan   natai
3   bgh   car           bmw          520d      zenso
4   hyu   van           ford         max       mizuri
5   nhj   car           toyota       121       nakaga
6   gtr   car           toyota       corolla   wassa
7   gtr   van           nissan       caravan   goa

我有以下控制器功能来过滤请求模型名,

$vehicles = Vehicle::with('uploads')
                ->when(request('modelname'), function ($query, $request) {
                    return $query->where('modelname', request('modelname'));
                })
                ->orderBy('adtype','DESC')

我的刀片链接显示以上数据是,

<a href="{{ route('vehicles.modelindex') }}?modelname={{$dis->modelname}}{{$dis->modelname}}</a>

和路线

Route::get('modelname', [
    'uses' => 'VehicleController@indexmodel',
    'as'   => 'vehicles.modelindex',

]);

但现在我还需要使用型号名称过滤区域名称,然后我将刀片链接更改为

<a href="{{ route('vehicles.modelindex') }}?modelname={{$dis->modelname}}?districtname={{$dis->districtname}}">{{$dis->modelname}}</a>

和控制器一样

$vehicles = Vehicle::with('uploads')
                ->when(request('modelname'), function ($query, $request) {
                    return $query->where('modelname', request('modelname'));
                })
                ->when(request('districtname'), function ($query, $request) {
                    return $query->where('districtname',request('districtname'));
                })


            ->orderBy('adtype','DESC')

但是现在当我点击上面这样的新链接网址时 http://localhost:8000/modelname?modelname=Highlander%20Hybrid?districtname=newyork

但不显示任何结果。结果显示刀片视图是,

 @forelse( $vehicles as $vehicule )

@if( $vehicule->uploads->count() > 0 )
                        <a href="{{ route('vehicles.show', $vehicule->id) }}">
                            @php
                                $upload = $vehicule->uploads->sortByDesc('id')->first();
                            @endphp
                           Vehicle Model Name: {{$vehicule->modelname}}
                            <div style="border-style: solid; background-color: {{ $vehicule->adtype === 1 ? '#FFEFD5' : '#FFFFFF' }} ">
                            <img src="/images/{{ $upload->resized_name }}" height="150" width="250"></a>


                       <label> {{ Carbon\Carbon::parse($vehicule->created_at)->diffForHumans()}} </label>
                         <label>  {{$vehicule->provincename}}</label>
                         <label> {{$vehicule->milage}}</label>
                        @endif

            @empty
                <td>Sorry,No Advertisment to display.</td>
            @endforelse 

但是当点击带有模型名称和地区名称页面的新链接时,只显示Sorry,No Advertisment to display

如何解决这个问题?

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    我首先注意到的是您构建获取请求的方式。如果将参数附加到请求,则第一个参数使用? 连接,但对于后面的每个参数,您应该使用&amp;

    所以你的网址应该是这样的:

    <a href="{{ route('vehicles.modelindex') }}?modelname={{$dis->modelname}}&districtname={{$dis->districtname}}">{{$dis->modelname}}</a>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多