Exemple #1
0
 /**
  * (non-PHPdoc)
  * @see \Simplify\Form\Repository::update()
  */
 public function update(&$data)
 {
     $table = $this->table;
     $pk = $this->pk;
     $sort = $this->sortColumn;
     if (isset($data[$sort])) {
         $id = $data[$pk];
         $old = \Simplify::db()->query()->from($table)->select("{$sort}")->where($this->filter())->where("{$pk} = ?")->execute($id)->fetchOne();
         $new = $data[$sort];
         if ($new > $old) {
             \Simplify::db()->query("UPDATE {$table} SET {$sort} = {$sort} - 1 WHERE {$this->filter()} AND {$sort} BETWEEN {$old} AND {$new}")->execute();
         } elseif ($new < $old) {
             \Simplify::db()->query("UPDATE {$table} SET {$sort} = {$sort} + 1 WHERE {$this->filter()} AND {$sort} BETWEEN {$new} AND {$old}")->execute();
         }
     }
     return parent::update($data);
 }
Exemple #2
0
 /**
  * (non-PHPdoc)
  * @see \Simplify\Form\Repository::update()
  */
 public function update(&$data)
 {
     $row = $this->find($data[$this->pk]);
     if ($row[$this->parent] != $data[$this->parent]) {
         $this->mptt()->move($data[$this->pk], $data[$this->parent], \Simplify\Db\MPTT::LAST_CHILD);
     }
     return parent::update($data);
 }