| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -33,8 +33,9 @@ class AgentProductController extends Controller | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								$list = $list->whereIn('category_id', [$category_id, ...$this->get_category_child_ids($category_id)]); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							// 距离排序,TODO 优化
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							$list = $list->addSelect('latitude', 'longitude', 'address', DB::raw(<<<SQL | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							// 距离排序
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if ($lat && $lng) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								$list = $list->addSelect('latitude', 'longitude', 'address', DB::raw(<<<SQL | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					round( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						(((6371.393 * 2) * asin( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							sqrt(( | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -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]; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |