如何在Laravel 5.3中为变量分配记录值?

时间:2016-11-11 00:37:47

标签: laravel laravel-5

我需要显示属于当前登录用户属性的所有车辆记录。 在将数据传递给视图之前,我需要过滤除当前用户ID所拥有的所有属性。

我在Vehicle模型中有一个执行外键约束的关系。

public function propiedad(){
    return $this->belongsTo('App\Property', 'propiedad_id','id' );
}

我的控制器在将数据传递给视图之前使用此过滤器。我假设在过滤属于这些属性的车辆之前,我必须获取属于用户的属性ID。这是我遇到麻烦的地方。

    $user_properties = array(?????);
    $Vehiculo = Vehiculo::where('propiedad_id', $user_properties);

1 个答案:

答案 0 :(得分:0)

如果您的属性表中包含user_id列,那么在您的用户模型上定义vehicles hasManyThrough关系,例如

public function vehicles()
{
    return $this->hasManyThrough(Vehicle::class, Property::class);
}

然后在你的控制器中你可以这样做:

$users = User::with('vehicles')->get();

或者对于单个用户

$vehicles= User::find($id)->vehicles;