我需要显示属于当前登录用户属性的所有车辆记录。 在将数据传递给视图之前,我需要过滤除当前用户ID所拥有的所有属性。
我在Vehicle模型中有一个执行外键约束的关系。
public function propiedad(){
return $this->belongsTo('App\Property', 'propiedad_id','id' );
}
我的控制器在将数据传递给视图之前使用此过滤器。我假设在过滤属于这些属性的车辆之前,我必须获取属于用户的属性ID。这是我遇到麻烦的地方。
$user_properties = array(?????);
$Vehiculo = Vehiculo::where('propiedad_id', $user_properties);
答案 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;