Запишите встроенную функцию, и интерпретатор достаточно умен, чтобы знать о записи функции. Сделайте это как это, и это предполагает, что это - просто строка (который это технически).
Изменить : См. этот ответ (и комментарий ) для CakePHP 2.x (файл модели должен называться Contact. php
)
CakePHP 1.x - Убедитесь, что ваш файл модели называется contact.php
(в нижнем регистре). Если это не так, CakePHP не найдет вашу модель и вместо этого создаст "autoModel" во время выполнения под названием Contact
, который использует таблицу contacts
.
Если память не изменяет, вы фактически не устанавливаете свою модель:
$this->Contact->set( $this->data );
$this->Contact->validates();
В вашем коде модель фактически не заполняется, когда вы пытаетесь ее проверить.
Если вы используете модель без таблицы, вам также необходимо установить схему, например,
class Contact extends AppModel {
var $name = 'Contact';
var $useTable = false;
var $_schema = array(
'name' => array('type' => 'string', 'length' => 255),
'email' => array('type' => 'string', 'length' => 255),
'message' => array('type' => 'text')
);
}