У меня есть обзорная таблица и review_photos. Я хотел бы получить все отзывы из указанного c заказа продукта по их столбцу updated_at и предварительно просмотреть отзывы с фотографиями, которые будут отображаться первыми в пределах указанной даты c. Приведенное ниже решение будет возвращать только отзывы с фотографиями, а те, у которых нет фотографий, не будут отображаться.
Модель обзора
public function photos()
{
return $this->hasMany('App\Models\Booking\ReviewPhoto');
}
Модель обзора
public function review()
{
return $this->belongsTo('App\Models\Booking\Review');
}
Обзор репозитория
public function getProductReviews($product_id, $paginate = false)
{
$query = $this->review->where('product_id', $product_id)->whereHas('photos')->orderByDesc('updated_at');
if ($paginate !== false) {
return $query->paginate($paginate);
}
return $query->get();
}