Codeigniter:控制器与Closure表有关

时间:2017-11-02 17:14:13

标签: php mysql codeigniter transitive-closure-table

我在为闭包表实现控制器时遇到问题,我正在尝试插入后代。

这就是我做过的事情

控制器

future_events=Event.objects.filter(date__gt=event.date).select_related('comments')

模型

public function add() {    
    $this->load->model('home_model', 'closures');

    $node_id = $this->input->post('ancestor');
    $target = array(
        'descendant' => $this->input->post('descendant'),
        'lvl' => $this->input->post('lvl'),
        'id' => $this->input->post('id')
    );  

    $cust_id = $this->closures->add($node_id, $target);
    $this->index();    
    redirect(site_url());
}

查看

 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;
}

错误消息 1.数组到字符串转换 2. UNION之后模型上的语法错误。

我在解决错误消息方面遇到了一些挑战

0 个答案:

没有答案