Я выполнил finding locations with mysql запрос, чтобы найти ближайший листинг на моих картах Google с помощью Laravel 5.Получить результаты Laravel модели, основанные на нескольких идентификаторов и первого hasMany изображений таблицы
$query = DB::select(DB::raw('SELECT id, (3959 * acos(cos(radians(' . $lat . ')) * cos(radians(latitude)) * cos(radians(longitude) - radians(' . $lng . ')) + sin(radians(' . $lat .')) * sin(radians(latitude)))) AS distance FROM listings HAVING distance < ' . $distance . ' ORDER BY distance'));
$ids = [];
foreach($query as $q)
{
array_push($ids, $q->id);
}
он возвращает несколько идентификаторов, которые я могу получить перечисление с использованием, в котором
$results = Listing::whereIn('id', $ids)->paginate(15);
Сейчас проблемы есть, каждый список имеет много изображений на другие стол (таблицы изображений), я хочу, чтобы извлечь первое изображение только затем передать результаты для просмотра (список всех списки с 1 изображением)
Какой правильный способ решить эту проблему?
Спасибо!