Сборщик запросов Laravel - PullRequest
0 голосов
/ 19 мая 2018

У меня есть этот запрос:

$query = QueryBuilder::for(Advertisement::class)
            ->with('locations');

Метод размещения в рекламе выглядит следующим образом:

public function locations()
{
    return $this->belongsToMany(Location::class, 'advertisement_locations', 'advertisement_id', 'location_id');
}

Таким образом, рекламные объявления belongsToMany промежуточных мест - это сводная таблицазвонил advertisement_locations.

Теперь я бы получал рекламу только между long и latitude, которые есть на столе locations.

Как я мог это сделать?

1 Ответ

0 голосов
/ 19 мая 2018

Используйте это:

$query = Advertisement::whereHas('locations', function($query) {
    $query->whereBetween('long', [$min, $max])
        ->whereBetween('latitude', [$min, $max]);
});
...