2011-01-04 9 views
0

Ich habe eine Datenbank mit einem Feld für räumliche Daten und eine CakePHP-Schnittstelle dafür. In MySQL kann ich die Daten speichern, indem Sie:Verarbeiten von räumlichen Daten in CakePHP

INSERT INTO Knoten (Ort) VALUES (GeomFromText ('POINT (42,450071 -76,487664)'))

Wie kann ich Kuchen nehmen Sie die geografische Breite und Länge von einem machen Webformular und fügen Sie es auf diese Weise ein? Ich habe ein Modell erstellt, das räumliche Daten liest, aber ich kann nicht herausfinden, wie man es in räumliches Format schreiben kann.

Danke für jede Einsicht.

-Andrew

Antwort

0

Es ist ein wenig schwierig im Handbuch zu finden, wenn Sie wissen, was zu suchen, aber das sollte Ihnen helfen: http://book.cakephp.org/view/1027/query

z.B. etwas in der Form von:

$gLat = 42.450071; 
$gLong = -76.487664; 
$this->Node->query("INSERT INTO nodes (Location) VALUES (GeomFromText('POINT({$gLat} {$gLong})'))"); 
+0

Aha - sieht gut aus. Also muss ich ein Feld in der Ansicht machen, das die Variablen nach $ gLat und $ gLong hochlädt. Just doing echo $ form-> Eingabe ('gLat'); wird es aber nicht tun. Ich habe in dem Buch nachgeschaut, aber gibt es eine Möglichkeit, die Formulareingabe in eine Variable zu bringen, die vom Controller gelesen werden kann und nicht automatisch in die Datenbank eingegeben wird? –

+0

$ this-> Daten enthalten alle Formulardaten. Probieren Sie debug ($ this-> data); in deinem Controller. – Leo

Verwandte Themen