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

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

  [复制链接]
发表于 2012-8-17 23:37:33 | 显示全部楼层
楼主想要的是zend_framework...
发表于 2012-11-29 14:40:07 | 显示全部楼层
怎么不罗嗦?
发表于 2012-12-18 14:43:23 | 显示全部楼层
你可以用表单数组实现你的想法

<input name="data[title]" value="" />
<input name="data[cid]" value="" />
...

在配置里允许传入表单数组
然后用$this->input->post('data')接受数组

但是不建议你这么做,理由如hex所说
发表于 2012-12-18 14:46:30 | 显示全部楼层
或者你可以写个遍历函数先从数据库取出所有字段,然后进行遍历,如果用$this->input->post({$field})取到值就压入数组,取不到值则忽略。
发表于 2013-1-7 15:45:12 | 显示全部楼层
本帖最后由 cnmiss 于 2013-1-7 15:46 编辑
PHP复制代码
 
$data = $this->input->post();
$this->db->insert('table_name', $this->pre_resolve_data($data, 'table_name'));
function pre_resolve_data($data, $table) {
    $table_fields = $this->db->list_fields($table);
    return array_intersect_key($data, array_flip($table_fields));
}
复制代码
发表于 2013-6-26 16:40:33 | 显示全部楼层
并不需要这样麻烦的操作。在表单里input的name设置成和数据库一样可以直接用 $this->db->insert('news',$_POST);
发表于 2013-11-11 17:00:26 | 显示全部楼层
自己写个转换函数不就行了
发表于 2013-11-16 10:34:17 | 显示全部楼层
干脆用意念完成你的想法
发表于 2013-11-21 14:35:23 | 显示全部楼层
Yii 可以这样搞 但前提是这个字段有个验证规则
发表于 2014-3-7 15:34:19 | 显示全部楼层
这么长时间了!楼主如果还在编程的话就应该知道了!复杂的程序对于程序的严谨性要求很高的!当然一般的小程序对于楼主的理解的还是很好的!ci可以扩展,自己扩展下就行了!一个大的框架首先保证的是安全在安全的前提下 才要求速度!!!

本版积分规则