Home PageКаталог Изменения НовыеКомментарии Пользователи Регистрация
CakePHP: Manual/Developing/Models/Attributes ...
Это старая версия Manual/Developing/Models/Attributes за 2009-03-01 21:33:54..

Переменные модели


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



useDbConfig


Свойство useDbConfig – это строка, которая определяет имя соединения с базой данных, которое используется для связывания вашего класса модели и соответствующей таблицы базы данных. Вы можете присвоить этому параметру любое имя соединения, определенное в файле конфигурации базы данных (/app/config/database.php).


По умолчанию useDbConfig = 'default'.


Пример использования:


<?
class Example extends AppModel {
   var 
$useDbConfig 'alternate';
}
?>



useTable


Свойство useTable определяет имя таблицы базы данных. По умолчанию, модель использует имя класса модели, написанное строчными буквами во множественном числе. Присваивайте этому параметру имя таблицы, если оно отличается от имени по умолчанию, или устанавливайте в false, если вы хотите, чтобы модель не использовала таблицу вообще.


<?
class Example extends AppModel {
   var 
$useTable false// Эта модель не использует таблицу базы данных
}
?>


<?
class Example extends AppModel {
   var 
$useTable 'exmp'// Эта модель использует таблицу 'exmp'
}
?>



tablePrefix


Имя префикса таблицы, используемое для модели. Префикс таблицы изначально определяется в /app/config/database.php. По умолчанию, префикса нет. Вы можете установить префикс, определив переменную модели tablePrefix.


Пример использования:


<?
class Example extends AppModel {
   var 
$tablePrefix 'alternate_'// будет использовать 'alternate_examples'
}
?>



primaryKey


Каждая таблица, как правило, имеет первичный ключ, id. Вы можете указать какое поле таблицы модель будет использовать как первичный ключ. Это применяется, когда вы настраиваете CakePHP для работы с уже существующей таблицей базы данных.


Пример использования:


<?
class Example extends AppModel {
    var 
$primaryKey 'example_id'// example_id - имя поля таблицы БД
}
?>



displayField


Переменная displayField определяет какое поле таблицы будет использоваться в качестве метки (label) для записи. Метка используется в скаффолдинге и в вызовах find('list'). По умолчанию, модель будет использовать имя или заголовок (title).


Например, для использования поля 'username':


<?
class User extends AppModel {
   var 
$displayField 'username';
}
?>


Множество имен полей не может быть собрано в одно поле для вывода displayField. Т.е., вы не можете определить array('first_name', 'last_name') как displayField.



recursive


Свойство recursive определяет, как глубоко CakePHP должен заходить, при выборке данных ассоциированных моделей с помощью методов find(), findAll() и read().


Допустим, в вашем приложении Groups belong to Domain, который have many Users, которые в свою очередь have many Articles. Вы можете присвоить $recursive различные значения, в зависимости от того, какой объем информации вы хотите получить после вызова $this->Group->find():


Глубина Описание
-1 Кейк выберет только данные Group, без связей
0Кейк выберет данные Group и её domain
1Кейк выберет данные Group, её domain и ассоциированных пользователей Users
2Кейк выберет данные Group, её domain и ассоциированных пользователей Users, и ассоциированных статей Articles


 
Комментарии
Добавить комментарий:

Файлов нет. [Показать файлы/форму]