Как сделать пользовательский запрос в Cakephp 1.3

Я хочу написать собственный запрос в cakephp 1.3.17

Я пишу следующее в функции в контроллере Users

$arrayTemp =array();
$arrayTemp = $this->Users->query('SELECT * FROM ht_users Where id=$id');
$this->set('post',$arrayTemp);
pr($post);

но он получает следующую ошибку на странице

Error: Call to a member function query() on a non-object
File: D:\xamp\htdocs\devworks\app\Controller\UsersController.php
Line: 1478

Строка: 1478 означает, что это указывает -> $ arrayTemp = $ this-> Users-> query (‘SELECT * FROM ht_users Где id = $ id’);

как я могу выполнить обычный запрос здесь, пожалуйста, помогите

0

Решение

Как называется ваша модель пользователь поэтому вам нужно написать пользовательский запрос, как показано ниже.

$arrayTemp =array();
$id='1'; // For example. $id is whatever id you're receiving here
$arrayTemp = $this->User->query("SELECT * FROM ht_users Where id = '$id'");
$this->set('post',$arrayTemp);

Теперь вы можете pr ($ post) в вашем файле function.ctp. Если этот код написан в функции index (), попробуйте распечатать в index.ctp аналогичным образом.

Пожалуйста, попробуйте с приведенным выше кодом, дайте мне знать, если еще какие-либо проблемы

0

Другие решения

Согласно конвенциям Cakephp,

Model class name are singular, this should be the database table name but in singular format.

Итак, в вашем случае это должно быть пользователь

А затем используйте приведенный ниже код

$arrayTemp =array();
$arrayTemp = $this->User->query('SELECT * FROM ht_users Where id=$id');
$this->set('post',$arrayTemp);
0

По вопросам рекламы [email protected]