如何在我的视图中访问它

时间:2015-09-21 16:34:41

标签: php laravel-routing laravel-5.1

我是这个laravel的新手,我正在使用资源。

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Cars;
use App\Http\Requests;
use App\Http\Controllers\Controller;


class BookController extends Controller
{
       public function show($id)
    {
        $car = Cars::where('car_id',$id);
        return view('book.view',compact('car'));
    }
}

这是我的route.php

  Route::resource('book','BookController');

这是我的view.blade.php

     {{ $car->car_id }}

但它给了我错误 未定义的属性:Illuminate \ Database \ Eloquent \ Builder :: $ car_id

如何显示car_id?

提前谢谢。

3 个答案:

答案 0 :(得分:1)

试试这个

$car = Cars::where('car_id','=',$id)->get();

答案 1 :(得分:1)

如果您想要获取单个记录,请执行

$car = Cars::where('car_id', $id)->first();
return view('view.name', compact('car'))

然后在视图中访问它:

{{$car->car_id}}

如果你想获取许多记录,请执行以下操作:

$cars = Cars::where('something', '=','otherthing')->get();
return view('view.name', compact('cars'));

并在视图中访问它:

@foreach($cars as $car)
    {{$car->car_id}}
@endforeach

您应遵循命名惯例永远不要使您的模型名称复数

答案 2 :(得分:0)

您还可以使用以下方法获取cars表中所有数据的特定列:

$car=Cars::where('car_id',$id)->get(['car_id','car_name']);