Próbuję utworzyć własne zapytania MySQL w Cakephp.Jak tworzyć niestandardowe zapytania MySQL w CakePHP?
To jest mój LocationsController.php
:
<?php
App::uses('Location', 'Model');
class LocationsController extends AppController
{
public $helpers = array('Html', 'Form');
function index()
{
$this->loadModel("Location");
$this->Location->get();
}
}
To jest mój LocationModel.php
:
<?php
App::uses('AppModel', 'Model');
class LocationModel extends Model {
public $name = 'Location';
public function get()
{
$this->Location->query("SELECT * FROM locations;");
}
}
Jak widać, jestem po prostu staramy się wykonywać proste zapytanie, ale to nie działa. Otrzymuję ten błąd:
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
Kiedy użyć jednej z magicznych metod, takich jak find („all”) zamiast, to działa ...
widzisz w czym jest problem? Naprawdę nie mogę i próbuję tylko wykonać proste zadanie!
Jeśli” czy w modelu 'Location' nie byłoby po prostu' $ this-> query ("SELECT * FROM location"); '? – AlienWebguy
Sprawdź odpowiedź poniżej i daj mi znać, co stanie się dalej! – Karma
Nie widzę żadnego rozsądnego powodu, aby użyć niestandardowego zapytania tutaj, gdy już masz model lokalizacji i może po prostu zrobić 'find (all)' ... powinieneś zawsze zadać sobie pytanie, czy naprawdę musisz użyć niestandardowego zapytania. wtedy przekonasz się, że nigdy ich naprawdę nie potrzebujesz. – mark