我正在使用laravel 5,我需要从数据库表中获取信息并在HTML代码中使用它们,我已经做过一次并且它有效,现在我正在尝试与另一个页面相同的事情它不起作用,也许我错过了什么。
这是我的路线:
Route::get('/servicedetails{id}', function($id) {
$services = DB::table('services')->where('id','=', $id)->get();
return view('service_details')->with('services', $services);
});
这是我的HTML:
@foreach ($services as $service)
<div class="container">
<h3 style="margin-left:45%; font-size:40px;">{{$service['id']}}</h3>
<img src="images/portfolio/full/item11.png" style="border-radius:50px; padding-top:20px; float:left;">
<p style="float:left; margin-top:15%; margin-left:50px;">Description goes here</p>
</div>
@endforeach
如果我放入我的路线:返回$ services我获得了所需ID的服务 但是当我这样做时它不起作用
答案 0 :(得分:0)
查询响应是一个对象。要访问对象元素,请使用此
{{$service->id}}
答案 1 :(得分:0)
根据您的上一句话,我猜你必须删除@foreach。您似乎返回单个对象而不是集合。 (这就是$service
找不到的原因 - 您的单个服务不包含另一个服务,它包含属性)
除此之外,它返回一个对象,而不是一个数组,所以你必须像这样访问id:$services->id
试试这段代码:
<div class="container">
<h3 style="margin-left:45%; font-size:40px;">{{ $services->id }}</h3>
<img src="images/portfolio/full/item11.png" style="border-radius:50px; padding-top:20px; float:left;">
<p style="float:left; margin-top:15%; margin-left:50px;">Description goes here</p>
</div>