收藏本站 Archiver
    请 后使用快捷导航
    没有账号?入住 CI 中国社区
    楼主: snllll

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

    [复制链接]
    61
    发表于 2011年1月9日 00:50:09 | 只看该作者
    回复 60# penglu3000


    想法确实是不错,不过这需要 ORM 的配合。如果没有更好的封装,可能会制造更多的混乱。
    62
    楼主| 发表于 2011年1月9日 01:28:21 | 只看该作者
    楼主想法绝对正确。参考ecmall.
    $data=$_POST;
    然后针对数据和业务进行filter.不就行了?
    而且,正好可以对 ...
    loadinger 发表于 2010年11月11日 17:07



    63
    楼主| 发表于 2011年1月9日 01:32:43 | 只看该作者
    其实楼主的想法很对。这里喷楼主的习惯性的偏袒自己钟爱的技术,听不进别人的想法。
    看看yii怎么处理的:

    ...
    penglu3000 发表于 2011年1月8日 23:48






    再次上论坛,突然发现这个帖子还是有人关注的,可能是因为我的标题实在是太吓人了。

    其实关于这个问题,是当初我太偏执,我态度上存在很大的问题,给前面争论过的朋友们道个歉。

    这个东西,用起来得心应手,各人有各人的习惯和思维方式,不必非要分出个高低。

    当然,关于思想上,我认为有冲突是好事,理越辩越明。大家各抒己见,能相互交流各自关于软件思想的认识,好事。
    64
    发表于 2011年1月12日 20:41:59 | 只看该作者
    刚入门ci,也遇到lz的问题,可能之前接触过tp吧,tp有lz所要的功能,而且基本上自动帮你过滤数据再对应数据表中的字段插入,的确很方便。离开tp,是因为其中的bug还是不少。至于有人说tp的效率不及ci,这我没亲自测试过,但是看过phpchina的那篇比较,貌似差小小而已,两者同样定位于轻型框架。
    65
    发表于 2011年1月19日 16:26:00 | 只看该作者
    ruby我忘了,反正asp.net MVC可以做到这个。但是,这样是很不好的,模式彻底僵化,你想改变都不行!!!!
    66
    发表于 2011年2月1日 22:23:18 | 只看该作者
    当程序写多了以后,会发现些代码越严谨越好,而不是要简单化,因为所谓的简单以后会带来大麻烦
    67
    发表于 2011年2月3日 15:29:30 | 只看该作者
    楼主,你需要的是model...请你这个是封装在model里面的数据操作。
    其次,你只需要 $query = $this->db->insert()...,$query 就是最后插入的id
    第三,在业务逻辑里面只需要

    $this->user->create()一句话就结束了。。。
    68
    发表于 2011年2月25日 13:11:13 | 只看该作者
    1、前台的字段 也就是input的name最好不要和数据库的字段相同
    2、不能直接使用$datas=$_POST; 先不说验证不验证的问题,在一个复杂的应用中,往往有很多hidden的name,他们并不需要入库,只是提供程序逻辑参考,这么写代码插入数据库就出错了。
    3、其实你的想法是可以实现的,怎么实现呢?看如下:

    HTML复制代码

    <form xxxxxx>
    <input name='db_newstitle'/>
    <input name='db_newbody'/>
    <input type='hidden' name='hidden_isad' value='0'/>
    </form>
    复制代码

    这里有一个新闻标题,新闻内容,是否广告三个字段,是否是广告是一个hidden值,通过页面载入或者其他js判断和改变。
    你可以看到,你要入库的字段,有一个'db_'前缀,其他的字段没有这个前缀。
    后台代码可以如下写:
    PHP复制代码

    $prefix='db_';
    $datas=array ();
    foreach($_POST as $key=>$value)
    {
    if(strstr ($prefix,$key))
    $datas[]=array (substr ($key,strlen ($prefix))=>$value);
    }
    复制代码

    这样处理,$datas数组里面就有一个title 一个 body。
    至于提交数据库前的验证,这里可以使用CI的验证类,具体怎么验证自己看验证类吧。

    点评

    不错! 发表于 2012年7月16日 20:16

    评分

    参与人数 1 威望 +5 理由
    Hex + 5 非常赞成!!

    查看全部评分

    69
    发表于 2011年2月26日 16:22:30 | 只看该作者
    在简单的话,程序员就不值钱了~~~
    70
    发表于 2011年2月26日 19:28:53 | 只看该作者
    表单里的数据是要经过校验的。
    下一页 »
    1 ... 2 3 4 5 6 78 9 10 11 ... 13 下一页
    返回列表
    您需要登录后才可以回帖 登录 | 入住 CI 中国社区

    本版积分规则

    AltStyle によって変換されたページ (->オリジナル) /