Ben Cakephp kendi MySQL sorguları oluşturmak çalışıyorum.nasıl CakePHP'de özel MySQL sorguları oluşturmak için?
Bu benim LocationsController.php
:
<?php
App::uses('Location', 'Model');
class LocationsController extends AppController
{
public $helpers = array('Html', 'Form');
function index()
{
$this->loadModel("Location");
$this->Location->get();
}
}
Bu benim LocationModel.php
:
<?php
App::uses('AppModel', 'Model');
class LocationModel extends Model {
public $name = 'Location';
public function get()
{
$this->Location->query("SELECT * FROM locations;");
}
}
Gördüğünüz gibi, sadece basit bir sorgu gerçekleştirmek çalışıyorum ama çalışmıyor. Bu hatayı alıyorum:
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
ben find gibi sihirli yöntemlerden birini kullanın ("tüm") yerine, çalışıyor ...
Sorunun ne görebilir mi? Gerçekten yapamam ve sadece basit bir görev yapmaya çalışıyorum!
Eğer model içinde, sen
$this->Location->query();
kullanmamalısınız,Ayrıca hataya neden, bir SQL deyimi olarak
get
yürütmek, ancak ';' location' modelinde yeniden, sadece '$ this-> sorgu ('konumlarda SELECT *') olmaz mı? – AlienWebguyAşağıdaki cevabı kontrol edin ve sonra ne olacağını bana bildirin! – Karma
Ben zaten konum modeli var burada özel bir sorgu kullanmak için herhangi bir aklı başında bir sebep görmüyorum ve sadece 'bulmak yapabileceği (tümü)' ... Eğer gerçekten özel bir sorgu kullanmalıdır eğer hep kendinize sormalısınız. o zaman asla onlara gerçekten ihtiyacınız olmadığını öğreneceksiniz. – mark