【问题标题】:Saving multiple image paths while inserting data in 2 tables in Codeigniter在 Codeigniter 的 2 个表中插入数据时保存多个图像路径
【发布时间】:2016-01-07 04:09:38
【问题描述】:

我正在努力使这个应用程序正常工作。目前它确实将多个图像上传到“[上传]”文件夹和其中一个表中的数据(图像文件夹除外)。

我有 2 张桌子。一个用于其他信息,一个仅用于图像。即使有错误,也会插入其他信息表。而图像表没有插入任何东西。

我的模型是:

function insert_property_details($data) {
$this->db->trans_start();
// First Table
       $insert_property_in_database=array(
       'v_item_title'   => $this->input->post('v_item_title'),
       'v_item_description' => $this->input->post('v_item_description'),
       'images_reference_id'    => $this->db->insert_id(),
       );
       $query=$this->db->insert('vbc_vacation_item_attri',$insert_property_in_database);
        return $query;
// Second Table
        $data = array('property_images' => $data['uploadedimage']);
        $this->db->insert('vbc_property_images', $data);

        $this->db->trans_complete();
        return $this->db->insert_id();
}

上传控制器:

  $this->upload->initialize($config);
  if ($this->upload->do_upload('uploadedimage')) {
    $data['upload_data'] = $this->upload->data();
    $image_name = $data['upload_data']['file_name'];

    $data['upload_data'] = $image_name;
    $this->load->model('admin/model_users');
    $this->model_users->insert_property_details($data);
  } else {

链接到 FORM 的控制器:

public function post_property() {
//Some validation code here
if($this->form_validation->run() == FALSE) {
        redirect('dashboard/add-new-listing');
} else {
        $this->load->model('admin/model_users');
        if($query = $this->model_users->insert_property_details()) {
        redirect('dashboard/property-successfully-posted');
   }
}

还有表格:

<input type="file" class="input-text-custom" data-placeholder="select image/s" name="uploadedimages[]" accept="image/*" multiple id="file" />

请帮忙。

【问题讨论】:

    标签: php codeigniter codeigniter-3


    【解决方案1】:

    在你的模型中有一个return 给出的声明 -

    return $query;
    

    所以剩下的代码不会执行,这就是图片相关数据没有插入的原因

     function insert_property_details($data) {
    $this->db->trans_start();
    // First Table
           $insert_property_in_database=array(
           'v_item_title'   => $this->input->post('v_item_title'),
           'v_item_description' => $this->input->post('v_item_description'),
           'images_reference_id'    => $this->db->insert_id(),
           );
           $query=$this->db->insert('vbc_vacation_item_attri',$insert_property_in_database);
           // return $query;  this is not required
    // Second Table
            $data = array('property_images' => $data['uploadedimage']);
            $this->db->insert('vbc_property_images', $data);
    
            $this->db->trans_complete();
            return $this->db->insert_id();
    }
    

    【讨论】:

    • 谢谢...我试过了..我说'缺少模型用户的参数 1::insert_property_details(),调用'..这在模型中
    • 你能不能通过在函数 insert_property_details($data) 中执行 print_r($data) 来破解传入模型函数中的 $data {
    • 通过在函数 insert_property_details($data) 中执行 print_r($data),它会显示所有选定图像的数组...但同样的错误还有 1 个带有“消息:未定义的变量:数据在第 178 行,即"property_images" =&gt; $data['uploadedimage'],
    • 另外......当我检查我的属性图像表时......每个图像都在单独的行中是否正常......或者所有图像都应该在同一行中?
    • 更好的方法是循环图像帖子数组并将单个条目传递给上传函数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    • 2020-08-17
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多