从闭包表中的模型中编写控制器类

时间:2017-11-03 10:02:58

标签: php mysql codeigniter transitive-closure-table

我试图从模型类中为闭包表编写一个控制器类。

试着深入了解它,但似乎很难。我想在闭包表中插入条目。

这是模特:

public $table;
public $closure_table = 'closures';

public function __construct($table_name = NULL, $closure_table = NULL){
    parent::__construct();
    $this->table = $table_name;
    if ($closure_table !== NULL) {
        $this->closure_table = $closure_table;
    }
}

public function add($node_id, $target_id = 0) {
    $sql = 'SELECT ancestor, '.$node_id.', lvl+1
        FROM '.$this->closure_table.'
        WHERE descendant = '.$target_id.'
        UNION ALL SELECT '.$node_id.','.$node_id.',0';
    $query = 'INSERT INTO '.$this->closure_table.'(ancestor, descendant, lvl) ('.$sql.')';
    $result = $this->db->query($query);
    return $result;
}

错误消息

  

" UNION"

的语法错误

0 个答案:

没有答案