2017-02-09 131 views
0

如何正确地转换经纬度和长度为字符串并将其保存到数据库mysql?任何帮助,非常感谢。在Laravel转换成字符串后保存经度和纬度

<?php namespace App\Http\Controllers; 
     public function addLocation(Request $request){ 
      $address = NGO::all(); 
      $address->lat = $request['lat']; 
      $address->lng = $request['lng']; 
      $lat = $address->lat; 
      $lng = $address->lng; 
      $address = getaddress($lat,$lng); 
      $address->save(); 

      return view('pages.Ngo.Add-New-Ngo-Scholar'); 
    } 

    public function getaddress($lat,$lng) 
    { 
    $url = 'http://maps.googleapis.com/maps/api/geocode/json?latlng='.trim($lat).','.trim($lng).'&sensor=false'; 
    $json = @file_get_contents($url); 
    $data=json_decode($json); 
    $status = $data->status; 
    if($status=="OK") 
    return $data->results[0]->formatted_address; 
    else 
    return false; 
    } 

回答

0

您可以告诉Laravel总是将特定的属性转换为字符串(或数组等)。你甚至可以转换为JSON(在数据库将json_encoded恩保存像绳子)...

对于模型中的这一点:

protected $casts = [ 
     'attribute_name' => 'string' 
    ]; 
+0

好I'l先试试这个。 – Chee

+0

先生,好的如何在我的模型中结合纬度和长度。像'lat'=>'string'和'long'=>'string'.It应该保存在表格的一列中? – Chee

+0

将它们都保存在一列中?这取决于你,完全取决于你的目的。你的问题是关于如何将字符串保存到数据库中...... :-) 但是,如果你想在两栏中输入字符串: protected $ casts = [ 'lat'=>'string ', 'long'=>'string', ]; – jeroenF