cakephp — получить имена таблиц и информацию о столбцах

Кто-нибудь знает, как получить имя таблицы из названия модели? Также я хочу получить все имена столбцов и их типы этого имени модели/таблицы. Можно ли получить такие данные о данном названии модели?

Спасибо.


person gautamlakum    schedule 10.10.2011    source источник


Ответы (1)


Имя таблицы

Чтобы получить таблицу, см.

$this->Model->table

Или проверьте модель на переменную класса $useTable. Если это не определено, вы можете вывести это из названия модели:

$tableName = Inflector::tableize($this->Model->alias);

См. документацию по Inflector, чтобы узнать о подобных полезных методах.

Столбцы

Взгляните на метод schema класса Model. Например:

var_dump($this->Model->schema());
person Ben Graham    schedule 10.10.2011
comment
Я думаю, что для имени таблицы вы можете просто использовать $this-›Model-›table - person Dave; 10.10.2011
comment
Так что вы можете! хорошо :) Включено в ответ, оставлено Inflector, потому что это все еще удобно знать - person Ben Graham; 10.10.2011
comment
Чтобы включить префикс таблицы, готовый для использования в необработанном запросе, вам нужно будет вызвать исходную модель dbo: $this->getDataSource()->fullTableName($this) - person petrica.martinescu; 27.03.2017