codeigniter自动增量foreignkey

时间:2016-05-11 08:40:57

标签: php mysql codeigniter insert auto-increment


在我的应用程序中,我有向mysqldb插入数据的功能,并且在一个新闻和数据库中有更多的图像我在上传表中将新闻ID作为外键,所有插入都工作正常但问题新闻FK在上传表中当我插入数据时插入的第一行取值我设置它而另一行取自动增量所以下次你找到代码:
上传表中插入的数据
upload table data

如果你正确的数据是行有id 31而另一行是自动增量 我输入的代码;
控制器

    public function insertNews() {
    $this->do_one_upload();
        $this->load->model('newsModel');
        $this->load->model('fileModel');
        $ad_ne_data = array(
                'titel' => $this->input->post('ad_news_title') ,
                'content' => $this->input->post('ad_news_content') ,
                'news_category_id' => $this->input->post('ad_news_category') ,
                'img_url' => $this->do_one_upload()[1]['full_path'],
                'created_at' => date("Y-m-d")
        );

        $this->newsModel->addNews($ad_ne_data);
        $i=0;
        while($i < count($this->do_one_upload())) {
            // var_dump($this->do_one_upload());
            $ad_imgs_news =array(
                'title' => $this->do_one_upload()[$i]['client_name'],
                'file_path' => $this->do_one_upload()[$i]['full_path'],
                'type' => $this->do_one_upload()[$i]['file_type'],
                'size' => $this->do_one_upload()[$i]['file_size'],
                'img_news_id' => $this->newsModel->getLastNewsId()
            );
             $i++;
            $this->fileModel->addUpload($ad_imgs_news);
            var_dump($ad_imgs_news);
        }
}

新闻模式
插入最后的新闻ID;

    public function getLastNewsId()
    {
      $last_id = $this->db->insert_id();
      return $last_id;
    }

上传模型中的上传插入方法

    public function addUpload($data)
    {
      // $this->db->set('name', $name);
      $this->db->insert('upload', $data);
    }


那么问题出在数据库或代码中还是???
谢谢,敬意

1 个答案:

答案 0 :(得分:0)

尝试返回

$comando = "sh pathTofile/location/ftpgesdoc.sh";

if(exec("$comando  2>&1", $output, $return_var))
{
    print_r($output);
    echo "<br>";
   print_r($return_var);

}

来自

$last_id = $this->db->insert_id();

$this->newsModel->addNews($ad_ne_data); 函数中查询后立即获取insert_id。