2017-02-16 62 views
0

我在$ lt = $ scholars-> lat获取查询$学者的价值时遇到了问题。结果是dd($ lt)为空数组;为newQuery获得一个空的结果

。任何帮助将有助于我的学校项目。学者

数据库

id   lat     lng     scholar_birthday   scholar_GPA 
1   10.275667  123.8569163     1995-12-12     89 
2   10.2572114  123.839243     2000-05-05     88 
3   9.9545909  124.1368558     2002-05-05     89 
4   10.1208564  124.8495005     2010-05-05     85 




     $scholars = (new Scholar)->newQuery()->select('*'); 

      $scholars->whereBetween(DB::raw('TIMESTAMPDIFF(YEAR,scholars.scholar_birthday,CURDATE())'),array($ship_age_from,$ship_age_to));  
      $scholars->whereBetween(DB::raw('scholar_GPA'),array($ship_gpa_from,$ship_gpa_to)); 





       $lt = $scholars->lat; 
       $lg = $scholars->lng; 
       $str = $lt.','.$lg; 

       $url = 'http://maps.googleapis.com/maps/api/geocode/json?latlng='.trim($lt).','.trim($lg).'&sensor=false'; 

       $json = @file_get_contents($url); 
       $data=json_decode($json); 

       $status = $data->status; 
       $data->results[0]->formatted_address; 

       dd($lt); 
     $scholars = $scholars->get(); 

DD结果

未定义的属性:照亮\数据库\雄辩\生成器:: $ LAT

+0

'学者'的结果是什么? – nextt1

回答

0

两件事情,

当您使用newQuery

()你仍然需要得到()像这样的结果

$scholars = (new Scholar)->newQuery()->select('*')->get(); 

但是,这将检索一个集合,而不是一个单一的结果,所以你需要循环这一点。

foreach($scholars as $scholar){ 
$lt = $scholars->lat; 
dd($lt); 
} 
+0

我更新我的代码先生, 我知道先生,但如果我实施其他条件将受到影响 – Gatzmar