Tôi đang cố tạo các truy vấn MySQL của riêng mình trong CakePHP.Cách tạo truy vấn MySQL tùy chỉnh trong CakePHP?
Đây là tôi LocationsController.php
:
<?php
App::uses('Location', 'Model');
class LocationsController extends AppController
{
public $helpers = array('Html', 'Form');
function index()
{
$this->loadModel("Location");
$this->Location->get();
}
}
Đây là tôi LocationModel.php
:
<?php
App::uses('AppModel', 'Model');
class LocationModel extends Model {
public $name = 'Location';
public function get()
{
$this->Location->query("SELECT * FROM locations;");
}
}
Như bạn thấy, tôi chỉ cố gắng thực hiện một truy vấn đơn giản nhưng nó không hoạt động. Tôi nhận được lỗi này:
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
Khi tôi sử dụng một trong những phương pháp kỳ diệu như find ("tất cả") thay vào đó, nó hoạt động ...
Bạn có thể thấy vấn đề là gì? Tôi thực sự không thể và tôi chỉ cố gắng làm một công việc đơn giản!
Nếu bạn' trong mô hình 'Location', nó sẽ không chỉ là' $ this-> query ('SELECT * FROM locations'); '? – AlienWebguy
Kiểm tra câu trả lời dưới đây và cho tôi biết điều gì sẽ xảy ra tiếp theo! – Karma
Tôi không thấy bất kỳ lý do nào để sử dụng truy vấn tùy chỉnh ở đây khi bạn đã có mô hình vị trí và chỉ có thể thực hiện 'tìm (tất cả)' ... bạn nên tự hỏi mình có thực sự phải sử dụng truy vấn tùy chỉnh hay không. sau đó bạn sẽ tìm ra rằng bạn không bao giờ thực sự cần chúng. – mark