Можно ли в CAKEPHP динамически изменять таблицу, связанную с конкретной моделью?

Предположим, у меня есть 2 идентичные таблицы с одинаковой структурой (назовите их «tableA» и «tableB»).

Я хочу сохранить определенные данные в таблице «A» и некоторые данные в таблице B.

ТЕПЕРЬ я хочу использовать одну и ту же МОДЕЛЬ для обеих таблиц.

Я хочу изменить таблицу, связанную с моделью (скажем, «ModelM»), чтобы она изменялась динамически в зависимости от состояния контроллера.

например


В контроллере: - // образец кода

function saveProduct(){

    $this->loadModel('ModelM');

    if(condition){

        $this->ModelM->useTable = 'A';

    }else{

        $this->ModelM->useTable = 'B';

     }
     $this->ModelM->save($this->data);

}

ДОПОЛНЕНИЕ 14 ЯНВАРЯ 2011 ГОДА

Ниже приводится копия / вставка кода, над которым я работаю:

function experiment(){

    $tableName = 'temp_table'.'1234';

    mysql_query('CREATE TABLE '.$tableName.' LIKE temp_home_masters');

    $sql = $this->createInsertQuery($new_arr,$tableName);

    $status = mysql_query($sql);

    if($status){
        echo "saved successfully";
    }else{
        echo "error";
    }

    $this->NewHomeMaster->setSource($tableName);//NewHomeMaster was previously attached to a different table , here I want to change the tableName the model linked with dynamically.Model 'NewHomeMaster' already exists and uses a table ...Here I am willing to link this model to the newly created tempory table.//

    $home_details=$this->paginate('NewHomeMaster',array($new_conditions));

    mysql_query('DROP table '.$tableName);

}

К сожалению, ЭТО НЕ РАБОТАЕТ ...

6
задан Brian Tompsett - 汤莱恩 27 June 2017 в 19:46
поделиться