Laravel 5.2显示单曲

时间:2018-04-22 02:52:10

标签: php laravel laravel-blade

我已经下载了一个用Laravel编写的脚本,我猜5.2。我在行和列中显示单个数据时遇到问题。它只显示id但不显示行的其余部分。到目前为止我有这个代码:

search.blade.php

<option value="">Search for...</option>
   @foreach(\App\SubCategories::orderBy('sub_category_name')->get() as $search_keyword) 
     <option value="{{$search_keyword->sub_category_slug}}">&nbsp;{{$search_keyword->sub_category_name}}</option> 
   @endforeach

<select id="location" name="location" class="form-control" required>
     <option value="">Select Location</option>
        @foreach(\App\Location::orderBy('location_name')->get() as $location) 
            <option value="{{$location->id}}">{{$location->location_name}}</option> 
        @endforeach
</select>

ListingsUserController.php

public function search_listings(Request $request)    
{ 

   $inputs = $request->all();

   $keyword = $inputs['search_keyword'];
   $location = $inputs['location'];

   $listings = Listings::SearchByKeyword($keyword,$location)->get();

   $total_res=count($listings);  

    return view('pages.search',compact('listings','total_res','keyword','location'));
}

search.blade.php

{{$total_res}} results for {{$keyword}}


{{$total_res}} results for {{$keyword}} in {{$location}}

我在最后一行添加了{{$location}},所以我会显示:

关键字位置的5个结果

但它显示的是id而不是location_name

10个关键字的5个结果

如果我像这样{{$location->location_name}}

,我会收到错误

我知道这在Laravel中是如此基础,但我是PHP Framework新手。

有人请吗?

1 个答案:

答案 0 :(得分:0)

$location = $inputs['location']; - 这只是在表单提交时从服务器发送的ID。

你需要首先加载模型,这样的东西应该起作用:

$location = Location::find($inputs['location']);

$listings = Listings::SearchByKeyword($keyword,$location->id)->get();

现在事情会正常,因为$location是一个具有属性的对象。