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)如果我忽略某些内容或以错误的方式进行操作,我将不胜感激:(