2017-02-09 140 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