CakePHP:如何从唯一字段切换两行值?

时间:2012-12-17 19:00:31

标签: php mysql cakephp

我需要在数据库的order字段中更改两行的值。这个领域是独一无二的。

我尝试了什么:

  1. 两个项的值存储在PHP变量中

  2. 第一行的字段值设置为NULL(字段中接受空值),

  3. 第二行的字段的值设置为第一行所持有的值

  4. 第一行的字段值设置为原始的第二行字段值。


  5. 它不起作用,因为我在执行订单更改时遇到“重复输入”错误。我似乎无法使用CakePHP找到如何做到这一点。

    这是我编写的代码(即使它不是函数):

    if ($second_row) {
        $next = $second_row['Immeuble']['order'];
        $prev = $first_row['Immeuble']['order'];
    
        $this->Immeuble->id = $first_row_id;
        $this->Immeuble->saveField('order', 'null');
    
    
        $this->Immeuble->id = $second_row['Immeuble']['id'];
        $this->Immeuble->saveField('order', $prev);
    
        $this->Immeuble->id = $first_row_id;
        $this->Immeuble->saveField('order',$next);
    }
    

2 个答案:

答案 0 :(得分:0)

当然是重复的密钥

你定义了两次id

     $this->Immeuble->id = $first_row_id;

     $this->Immeuble->id = $second_row['Immeuble']['id'];

然后

     $this->Immeuble->id = $first_row_id;

尝试删除最后一行

答案 1 :(得分:0)

我上面描述的代码完全是功能。我只是反转一些值,这会搞砸一切。我不会删除这个问题以防其他人需要做类似的事情。