使用HTML中的数据库中的数据不起作用

时间:2015-07-30 12:34:56

标签: laravel-5

我正在使用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的服务 但是当我这样做时它不起作用

2 个答案:

答案 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>