Вы не ограничены использованием модели, которая напрямую связана с вашим контроллером (это просто поведение по умолчанию);Вы можете использовать любую модель.
Чтобы достичь желаемого, создайте новую модель для этой таблицы, например.MyOwnTable
, и в своем контроллере вы можете добавить это свойство в класс:
public $uses = array('Index', 'MyOwnTable');
Теперь вы можете получить доступ к MyOwnTable
, используя встроенную функциональность CakePHP ActiveRecord:
$results = $this->MyOwnTable->find('count');
Если у вас есть другие таблицы, к которым вы хотите получить доступ, просто создайте модели для них и добавьте их в свойство $uses
.(Вы также можете использовать $this->loadModel('Model')
внутри действия, если хотите).
Если у вас есть имя таблицы, которое не очень читаемо (например, my_tb_own_1_x
или что-то подобное), вы можете вызвать модельКласс, понятный человеку (например, MyTable
), и добавление свойства $useTable
к модели:
public $useTable = 'my_tb_own_1_x';
/* and change the default primary key if you have an unusual one */
public $primaryKey = 'my_tb_own_1_x_idx_pk';
См. руководство CakePHP для получения дополнительной информации о том, как изменить модель по умолчанию и поведение контроллера:
1.3 - атрибуты модели
2.0 - атрибуты модели
1.3 - атрибуты контроллера
2.0 - Атрибуты контроллера