小编Lib*_*ibu的帖子

在CAKEPHP中,我们可以动态更改链接到特定模型的表吗?

假设我有2个相同的表具有相同的结构(称之为'tableA'和'tableB').

我想保存表'A'上的某些数据和表'B'上的某些数据.

现在我想对表格使用相同的MODEL.

我想更改与模型链接的表(比如'ModelM'),根据控制器的条件动态更改.

例如


在控制器中: - //示例代码

function saveProduct(){

    $this->loadModel('ModelM');

    if(condition){

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

    }else{

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

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

}
Run Code Online (Sandbox Code Playgroud)

2011年1月14日的补充

以下是我正在处理的代码的复制/粘贴:

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 …
Run Code Online (Sandbox Code Playgroud)

php cakephp model dynamic-data

6
推荐指数
1
解决办法
3045
查看次数

在Angular JS中撤消重做

我在$ rootScope中有一个大对象(比如说> 100个对象,每个对象/数组的层次结构再次),我想用deepWatching $ $看整个$ rootScope(即将$ watch的第3个参数转换为TRUE).

但问题是,$ watch返回2个对象(即一个Old RootScope和Modified RootScope).然后我必须检查$ rootScope及其层次结构中对象的哪个属性被更改为将其推入堆栈.

在观看$ scope时,我们是否有一个简单的方法可以更改确切的属性?

$scope.$watch($rootScope, function(oldObj, newObj){

   //all I want here is exactly what attribute changed, NOT entire objects!

}, true);
Run Code Online (Sandbox Code Playgroud)

或者,我可以在对象的每个属性上添加监视,但它看起来非常昂贵.

在角度js中实现撤消/重做的最佳方法是什么?

注意: -

  1. 角度历史不适合我的需要因为我想要观察对象的所有属性,它们也可能包含其他对象和数组.

  2. 我肯定看整个$ rootScope也不是一个好主意,但我的目标是构建一个具有多个网格的UI,拖放,可能包含表单,元素可以删除.因此,我想构建一个整体解决方案来堆叠更改并在CTRL + Z上撤消它.想象一下复制Photoshop的桌面版本.

javascript angularjs

6
推荐指数
2
解决办法
8944
查看次数

标签 统计

angularjs ×1

cakephp ×1

dynamic-data ×1

javascript ×1

model ×1

php ×1