ecstore后台finder的取数据流程

以会员数据为例

desktop_controller-------------------finder


desktop_finder_builder_prototype--------------- work


desktop_finder_builder_view----------------- main


desktop_finder_builder_view------------------- createView        579  创建页面数据


desktop_finder_builder_prototype------------ getColumns       108  需要展示的列
(在default_in_list 定义为 true的列 )
(和其他表的数据
desktop_finder_builder_prototype------------   $this-> addon_columns
定义在 services.xml
<service id="desktop_finder.b2c_mdl_members">
        <class>b2c_finder_members</class>
</service>


b2c_mdl_members---------------------------- getList


总结,如果需要从list中(主表)筛选审核通过的用户,则在 finder 第二个参数添加
$actions_base[ 'base_filter' ] = array ( 'login_type' => 'mobile' , 'order_refer' => 'local' , 'disabled' => 'false' );
更多的筛选条件:
$filter = array('member_lv_id|bthan' => 3);
更详细的filter参数可通过dbeav/lib/filter.php查看下面的代码获悉:
$FilterArray= array('than'=>' > '.$var,
                    'lthan'=>' < '.$var,
                    'nequal'=>' = \''.$var.'\'',
                    'noequal'=>' <> \''.$var.'\'',
                    'tequal'=>' = \''.$var.'\'',
                    'sthan'=>' <= '.$var,
                    'bthan'=>' >= '.$var,
                    'has'=>' like \'%'.$var.'%\'',
                    'head'=>' like \''.$var.'%\'',
                    'foot'=>' like \'%'.$var.'\'',
                    'nohas'=>' not like \'%'.$var.'%\'',
                    'between'=>' {field}>='.$var[0].' and '.' {field}<='.$var[1],
                    'in' =>" in ('".implode("','",(array)$var)."') ",
                    'notin' =>" not in ('".implode("','",(array)$var)."') ",
             );

如果碰上条件带有或逻辑的时候,上面的方法都不能直接使用,这个时候需要用到filter_sql。将所需要执行的sql语句where部分直接录入在filter_sql中:
//select * from members where member_id = 1 or name = 'tiandi';
$members->getlist('*',array('filter_sql' => "`member_id` = 1 or `name` = 'tiandi'"));

然后如果需要根据其他数据表的条件进行筛选,就重写 b2c_mdl_members中的 getList方法,根据参数删除掉不需要的表记录;   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值