我已经下载了一个用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}}"> {{$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新手。
有人请吗?
答案 0 :(得分:0)
$location = $inputs['location'];
- 这只是在表单提交时从服务器发送的ID。
你需要首先加载模型,这样的东西应该起作用:
$location = Location::find($inputs['location']);
$listings = Listings::SearchByKeyword($keyword,$location->id)->get();
现在事情会正常,因为$location
是一个具有属性的对象。