Php Laravel 5.4一对多关系(检查数据透视表中是否存在记录)

Php Laravel 5.4一对多关系(检查数据透视表中是否存在记录),php,eloquent,laravel-5.4,Php,Eloquent,Laravel 5.4,我想检查当前用户是否已经拥有这辆车 User.php: public function car() { return $this->hasMany(Car::class); } Car.php public function user() { return $this->belongsTo(User::class); } 例如,我通过查看cars表中的所有车辆,我想检查当前用户是否已经拥有这辆车: @foreach(

我想检查当前用户是否已经拥有这辆车

User.php:

public function car()
    {
        return $this->hasMany(Car::class);
    }
Car.php

public function user()
    {
       return $this->belongsTo(User::class);
    }
例如,我通过查看cars表中的所有车辆,我想检查当前用户是否已经拥有这辆车:

@foreach( $cars as $car )

   @if(Auth::user()->cars->where('car_id', $car->id)->exists())

        You have this car!

   @else

        Buy this car!

   @endif

@endforeach
现在,此代码返回一个错误:

调用成员函数,其中()为null

如何检查用户是否已经拥有此车?

2个问题:

首先是键入
car
/
cars


其次,您有
公共函数car()
,因此它应该是
Auth::user()->car()->where('car\u id',$car->id)->exists()
,用于条件链接

查看关于链接查询条件的信息(大致在本节末尾)。

2问题:

首先是键入
car
/
cars


其次,您有
公共函数car()
,因此它应该是
Auth::user()->car()->where('car\u id',$car->id)->exists()
,用于条件链接


查看关于链接查询条件(基本上在本节末尾)。

您有
公共函数car()
,因此它应该是
Auth::user()->car()->where('car\u id',$car->id)->exists()
,请参阅Laravel 5.4文档中的示例。@makadev谢谢,伙计@makadev你能写下你的答案,这样我就可以结束这个问题了吗?作为答案添加了你的
公共函数car()
,所以应该是
Auth::user()->car()->where('car_id',$car->id)->exists()
,参见Laravel 5.4文档中的示例。@makadev谢谢,伙计@马卡捷夫:你能写下你的答案吗?这样我就可以结束这个问题了