Поле 'user_id' не имеет значения по умолчанию - два отдельных контроллера - PullRequest
0 голосов
/ 10 января 2019

а) Это может быть проблемой для меня в коде воспламенителя, но, надеюсь, эксперты здесь могут дать мне некоторое руководство. У меня есть две таблицы 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();
}

в) Далее у меня есть система загрузки изображений с собственным «контроллером изображений».

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», я, похоже, не могу получить фотографии для сохранения в таблицу «изображений», как раньше. Вот соответствующий код из представления, который также сохраняется в локальной папке «uploads».

<?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) Буду признателен за любую помощь, если я что-то упущу или поступлю неправильно :(

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...