Посмотрите пример кода
mysql_query('SET AUTOCOMMIT=0;'); mysql_query('START TRANSACTION;'); $tableName = rand().'_table;' $this->loadModel('Home'); // Model for homes_table $sql = 'CREATE TABLE '.$tableName.'_table LIKE homes_table'; mysql_query($sql); // FEW INSERT STATEMENTS ON THE NEW TABLE $tableName // /* Here I want to paginate the new table using $this->paginate(); HOW? */ mysql_query('TRUNCATE table '.$tableName); mysql_query('COMMIT;');
Я хочу создать новую страницу для создания новой таблицы? Логика каждый раз, когда человек запускает сценарий, создается новая случайная таблица с именем -> затем разбивается на страницы -> затем удаляется … Или как назначить модель динамически созданным таблицам в cakePHP.
его звуки, как то, что вы делаете, плохо. Кроме того, вы не должны называть такие вещи, как CREATE TABLE, TRUNCATE, COMMIT и т. Д.
Посмотрите на пакет sest для правильного создания и удаления таблиц, прочитайте api о том, как делать транзакции. такие вещи, как http://api13.cakephp.org/class/data-source#method-DataSourcebegin
также имя таблицы должно быть множественным для торта, чтобы иметь возможность сделать это автоматически, поэтому ваш пример не будет работать.
Вы можете получить экземпляр модели, выполнив
$Something = ClassRegistry::init(Inflector::classify($tableName . '_suffix'));