|
|
|
@ -33,7 +33,8 @@ class AgentProductController extends Controller |
|
|
|
$list = $list->whereIn('category_id', [$category_id, ...$this->get_category_child_ids($category_id)]); |
|
|
|
} |
|
|
|
|
|
|
|
// 距离排序,TODO 优化
|
|
|
|
// 距离排序
|
|
|
|
if ($lat && $lng) { |
|
|
|
$list = $list->addSelect('latitude', 'longitude', 'address', DB::raw(<<<SQL |
|
|
|
round( |
|
|
|
(((6371.393 * 2) * asin( |
|
|
|
@ -45,8 +46,9 @@ round( |
|
|
|
* |
|
|
|
pow( sin((((( {$lng} * 3.1415926 ) / 180 ) - (( `longitude` * pi()) / 180 )) / 2 )), 2 )))) |
|
|
|
)) * 1000),0) AS `distance_m` |
|
|
|
SQL)); |
|
|
|
|
|
|
|
SQL |
|
|
|
)); |
|
|
|
} |
|
|
|
$fields = ['id', 'sale', 'updated_at', 'price', 'distance_m']; //排序字段
|
|
|
|
|
|
|
|
$field = $fields[$type] ?? $fields[0]; |
|
|
|
|