我想在Cakephp中創建我自己的MySQL查詢。如何在CakePHP中創建自定義MySQL查詢?
這是我LocationsController.php
:
<?php
App::uses('Location', 'Model');
class LocationsController extends AppController
{
public $helpers = array('Html', 'Form');
function index()
{
$this->loadModel("Location");
$this->Location->get();
}
}
這是我LocationModel.php
:
<?php
App::uses('AppModel', 'Model');
class LocationModel extends Model {
public $name = 'Location';
public function get()
{
$this->Location->query("SELECT * FROM locations;");
}
}
正如你所看到的,我只是想執行一個簡單的查詢,但它不工作。我得到這個錯誤:
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
當我使用的魔法方法,比如發現一個(「全」)代替,它的工作原理...
你能看到的問題是什麼?我真的不能,我只是想做一件簡單的事情!
如果」在'Location'模型中,它不會是'$ this-> query('SELECT * FROM locations');'? – AlienWebguy 2013-03-02 04:53:45
查看下面的答案,讓我知道接下來會發生什麼! – Karma 2013-03-02 05:01:18
我沒有看到任何理智的理由在這裏使用自定義查詢時,你已經得到的位置模型,並可以做'找(所有)'...你應該總是問自己,如果你真的必須使用自定義查詢。那麼你會發現你永遠不需要它們。 – mark 2013-03-02 13:25:36