用户
 找回密码
 入住 CI 中国社区
搜索
楼主: snllll
收起左侧

[模型] CI是如此的啰嗦!令人费解,还是我没有学会一个技巧?

  [复制链接]
发表于 2011-3-16 22:09:20 | 显示全部楼层
要真是那样的话还要你干嘛
发表于 2011-4-23 15:00:16 | 显示全部楼层
如果楼主用C++写过东西,就会发现,基于WEB层面的编程,其实已经简单多了。
另外,楼主提出的自动入库,键 ...
spt119 发表于 2010-6-22 10:03


thinkphp 有你需要的一切。用起来也很简单
其实 你个可以扩展一下。

要说应用,tp确实简单,
实例化也很方便。
特别是模型层对数据库的操作

这是我写企业站用的自己的小框架中的一段,此段原理上是模仿的tp,

PHP复制代码
 
                //表单与数据库匹配数据
                public function create(){
                        $this->data=$_REQUEST;
                        foreach($this->data as $key=>$value){
                                foreach($this->db->listfileds($this->table) as $col_name)
                                        if($key==$col_name)
                                                $row[$key]=$value;
                        }
                        $this->data=$row;
                        return $this->data;
                }
 
复制代码


将$_POST过来的数据 通过create匹配,

仅此而已
发表于 2011-5-5 19:25:11 | 显示全部楼层
如果什么都能自动识别,那么我们程序员就不用干活了。
发表于 2011-5-6 17:33:00 | 显示全部楼层
踏踏实实的写吧,框架这样设计有经过多次测试的!!!
发表于 2011-5-18 17:28:10 | 显示全部楼层
这么写,死都不知道怎么死的。
发表于 2011-5-24 01:32:50 | 显示全部楼层
这个问题CI很容易实现吧

在model里定义一个私有变量数组,如:

private $fields  = array('name','lft','rgt','end','recommend','title','description','keywords');

$array = elements($this->fields,$_POST);       
if($this->db->insert($this->table_name, $array))
{
}
发表于 2011-5-24 15:43:00 | 显示全部楼层
可以直接在form里面做处理,
<input type='text' name='data[title]' value="title" />
提交就是可是$_POST['data']二维数组了,那$this->db->insert('news',$_POST['data']);就可以了
                        
发表于 2011-5-25 15:28:39 | 显示全部楼层
本帖最后由 xushre 于 2011-5-25 15:29 编辑

这样写要不要得?
foreach ($_POST as $field=>$value) {
    $data[$field]=>$value;
}$this->db->insert('news',$data);
if ($this->db->affected_rows())
{
    return true;
}
else
{
return false;
}
以前这么弄过,是挺方便的。呵呵,但好久没有这么用过了
发表于 2011-6-20 14:16:56 | 显示全部楼层
这种代码完成可以通过代码生成器完成啊
发表于 2011-8-23 09:55:04 | 显示全部楼层
6楼大爱

本版积分规则