ATK4 распространяется с простыми используемыми базовыми типами, которые ограничены следующим списком:
- строка
- дата
- дата / время
- текст
- int
- real
- логический
- пароль
- список
Что касается set
type, ближайший будет тип list
.
пример:
$this->addField('month')->type('list')->caption('Month')
->listData(array(
1 => 'Jan',
2 => 'Feb',
3 => 'Mar',
4 => 'Apr',
5 => 'May',
6 => 'Jun',
7 => 'Jul',
8 => 'Aug',
9 => 'Sep',
10 => 'Oct',
11 => 'Nov',
12 => 'Dec'));
также, существует специальная обработка для boolean
типов в моделях ATK4 и не напрямуюсоответствуют тому же логическому типу в MySQL, который просто эквивалентен TINYINT (1).
, чтобы использовать тип boolean
для поля таблицы в ATK4, он имеетбыть объявленным как enum('Y','N')
и с добавлением is_
в имени его поля.
пример:
CREATE TABLE foo (
id INT(11) NOT NULL AUTO_INCREMENT,
:
is_active ENUM('Y','N') NOT NULL DEFAULT 'Y',
:
PRIMARY KEY (id)
) DEFAULT CHARSET=utf8;
с этим, MVCGrid, MVCForm и CRUD могут обрабатывать is_active
как специальное поле и отображаться в виде графической галочки на сетках и кнопки-флажка на формах.