字段“ user_id”没有默认值-两个单独的控制器

时间:2019-01-10 05:12:32

标签: mysql database codeigniter controller foreign-keys

a)这可能对我来说是代码点火器方面的挑战,但希望这里的专家能给我一些指导。我在数据库中有两个mysql表:“用户和图像”。用户从“主控制器”收集注册信息:

$id = $this->main_model-insertUser($clean);

b)这与“ main_model”相关,如下所示:

public function insertUser($d)
{  
        $string = array(
            'gender'=>$d['gender'],
            'seeking'=>$d['seeking'],
            'city'=>$d['city'],
            'state'=>$d['state'],
            'country'=>$d['country'],
            'age'=>$d['age'],
            'zodiac'=>$d['zodiac'],
            'username'=>$d['username'],                 
            'email'=>$d['email'],
            'role'=>$this->roles[0], 
            'status'=>$this->status[0], 
            'password'=> '', 
            'last_login'=> ''
        );
        $q = $this->db->insert_string('users',$string);             
        $this->db->query($q);
        return $this->db->insert_id();
}

c)接下来,我有一个具有自己的“图像控制器”的图像上传系统。

function upload()   {
            $config = array(
            'upload_path' => 'uploads',
            'allowed_types' => "gif|jpg|png|jpeg",
            //'file_name' => $filename,
            'max_size' => 200,
            'max_width' => 1024,
            'max_height' => 768     
        );      
    $this->load->library('upload', $config);        
    if($this->upload->do_upload())
        {
        $file_data = $this->upload->data();                     
        $data['name'] = $file_data['file_name'];
        $data['file'] = $file_data['file_path'];
        $data['file_type'] = $file_data['file_type'];
        $data['file_size'] = $file_data['file_size'];           
        $data['date_uploaded'] = date('Y/m/d H:i:s');           
        $this->images_model->save_image($data);

d)这通过“ images_model”进入数据库表:

Class Images_model extends CI_Model  {
    function save_image($data){     
    $this->db->insert('images', $data);
}

e)两个控制器分别运行良好。我面临的挑战是,将图像保存到“图像”表时,从“用户”表中识别用户。为此,我最近创建了一个链接两个现有表的外键。看来一切正常,如果您需要查看相关图像,请告诉我。但是,当我现在尝试加载图片时,出现以下数据库错误:“字段'user_id'没有默认值”。

f)我怀疑这可能是由于独立控制器所致。但是,即使我将图片代码移至“ main_view”,似乎也无法像以前一样将图片保存到“图片”表中。这是该视图中的相关代码,该代码也保存到本地文件夹“上载”中。

<?php if($images_model):?>
    <?php foreach($images_model as $images):?>
        <div class="col-sm-4">
            <div class="well">                  
            <img src="<?php echo base_url()."uploads/".$images->name;?>" alt="" class="img-thumbnail">  

g)如果我忽略某些内容或以错误的方式进行操作,我将不胜感激:(

0 个答案:

没有答案