у меня есть 3 таблицы:
Пользователь модель
|---------------------|------------------|
| column | type |
|---------------------|------------------|
| id | uuid |
|---------------------|------------------|
Отношения в модели:
public function properties()
{
return $this->hasMany(Property::class, user_id)
}
public function favourite_properties()
{
return $this->hasManyThrough(Property::class, FavouriteProperty::class, 'user_id', 'user_id')
}
Свойство модель
|---------------------|------------------|
| column | type |
|---------------------|------------------|
| id | uuid |
|---------------------|------------------|
| user_id | uuid |
|---------------------|------------------|
Отношения в модели:
public function user()
{
return $this->belongsTo(User::class, 'user_id')
}
public function favourites()
{
return $this->hasMany(FavouriteProperty::class, 'property_id')
}
FavouriteProperty модель
|---------------------|------------------|
| column | type |
|---------------------|------------------|
| id | uuid |
|---------------------|------------------|
| property_id | uuid |
|---------------------|------------------|
| user_id | uuid |
|---------------------|------------------|
Отношения в модели:
public function user()
{
return $this->belongsTo(User::class, 'user_id')
}
public function property()
{
return $this->belongsTo(Property::class, 'property_id')
}
Я хочу иметь доступ к избранным свойствам пользователя через модель FavouriteUser
и разбивать результаты на страницы, пока я получал пустые результаты данных с помощью этого запроса, в таблице есть 4 записи, принадлежащие к FavouriteUser
модель для текущего пользователя, но я не думаю, что делаю это правильно:
$user = User::where('id', Auth::user()->id)->firstOrFail();
$properties = $user->favourite_properties()->paginate(9);
return $properties;