【发布时间】:2016-08-26 13:06:08
【问题描述】:
我已经使用 laravel 5 实现了finding locations with mysql 查询以在我的谷歌地图上查找最近的列表。
$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);
}
它返回多个 id,然后我可以使用 whereIn 检索列表
$results = Listing::whereIn('id', $ids)->paginate(15);
现在的问题是,每个列表在不同的表(图像表)上有很多图像,我想检索第一张图像然后将结果传递给查看(列出所有列表和一张图像)
解决这个问题的正确方法是什么?
谢谢!
【问题讨论】:
标签: php mysql laravel eloquent has-many