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
내가 발견 같은 마법의 방법 중 하나를 사용하십시오 ("모든") 대신, 작동 ...
당신은 문제가 무엇인지 볼 수 있을까요? 나는 정말로 할 수 없다. 그리고 나는 단지 간단한 작업을하려고 노력하고있다!
당신이 만약 모델 내에서, 당신은
$this->Location->query();
을 사용하지 않아야합니다,또한 오류를 일으키는 SQL 문으로
get
을 실행하지만 것 'Location' 모델에서'$ this-> query ('SELECT * FROM locations')가 아닌가? ' – AlienWebguy아래 답변을 확인하고 다음에 어떤 일이 발생하는지 알려주십시오! – Karma
당신이 이미 위치 모델을 가지고 있고'find (all)'을 할 수있을 때 여기에 커스텀 쿼리를 사용하는 건 정당한 이유가 없다. ... 정말로 커스텀 쿼리를 사용해야하는지 항상 스스로에게 물어야한다. 그러면 당신은 당신이 정말로 필요로하지 않는다는 것을 알게 될 것입니다. – mark