$pic=D("Picture");
$data["savepath"]=$info["savepath"];
$data["picurl"]=$info["savename"];
$data["size"]=$info["size"];
$pict=$pic->create($data);
if(!$pict) $this->error($pic->getError());
$id=$pic->add();创建了一个model然后model里面有自动填充问题:
如果我把$pict=$pic->create($data);里面的$data去掉,自动填充以及其他字段都可以填充到数据库中,而我把$data添加上,数据库中只插入$data数组里面定义的字段,其他字段都是空的,以前用过这样的形式是没问题的,不知道哪里出错了,大家帮帮忙

解决方案 »

  1.   

    你提供了 data 数据源给 create ,当然只是更新你提供的数据源了。
    如果你不传值,就默认使用 post 过来的数据的。
    无用的字段orm会自动过滤,有id,会自动更新。
      

  2.   

    这个data数组是必须要传的,因为这不是表单提交的,而是通过处理得到的数据,只是单单的添加数据,没有更新操作,也没有post id的。
      

  3.   


    正解........create()这样是默认post过来的值
    create($data) 是$data 其他空白如果要附加其他的可以这样$data=$_POST;
    $data['xx']='xx';
    $data['oo']='00';
    然后
    create($data);