Sto cercando di creare le mie query MySQL in Cakephp.Come creare query MySQL personalizzate in CakePHP?
Questo è il mio LocationsController.php
:
<?php
App::uses('Location', 'Model');
class LocationsController extends AppController
{
public $helpers = array('Html', 'Form');
function index()
{
$this->loadModel("Location");
$this->Location->get();
}
}
Questo è il mio LocationModel.php
:
<?php
App::uses('AppModel', 'Model');
class LocationModel extends Model {
public $name = 'Location';
public function get()
{
$this->Location->query("SELECT * FROM locations;");
}
}
Come potete vedere, sto solo cercando di eseguire una semplice query, ma non funziona. Ottengo questo errore:
Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error
in your SQL syntax; check the manual that corresponds to your MySQL server
version for the right syntax to use near 'get' at line 1
Quando uso uno dei metodi magici come find ("tutto"), invece, funziona ...
si può vedere qual è il problema? Davvero non posso e sto solo cercando di fare un compito semplice!
Se si' nel modello 'Location', non sarebbe solo' $ this-> query ('SELECT * FROM locations'); '? – AlienWebguy
Controlla la risposta qui sotto e fammi sapere cosa succede dopo! – Karma
Non vedo alcun motivo ragionevole per usare una query personalizzata qui quando hai già ottenuto il modello di localizzazione e potresti semplicemente fare 'find (all)' ... dovresti sempre chiederti se devi davvero usare una query personalizzata. allora scoprirai che non ne hai mai veramente bisogno. – mark