• 迭代操作

    迭代操作

    迭代操作可以对数据进行迭代操作

    1. $select=Good::select("g.*")->order("rank desc");
    2. $select->each(function(Good $good ){
    3. $good->loadTags();
    4. $good->loadSku();
    5. $good->loadClick();
    6. });
    7. $data=$select->toArray('id,title')->cache()->page($page,$step);

    子类型也支持迭代操作

    下面是在数据结果集合里挑选字段为 r_ 开头的数据转化为OrderRefunds对象设置到refunds字段,同时进行迭代下面的可以仔细读下

    1. $select=DB::select(OrderRefunds::table('o_r'))
    2. ->fields("*",'o')
    3. ->fields(OrderRefunds::fields(),'o_r','r')
    4. ->join(Order::table('o'),'o.id=o_r.order_id');
    5. $data=$select->setRecord(Order::class)
    6. ->setSubRecord('refunds','r',OrderRefunds::class,
    7. function(OrderRefunds $refunds){
    8. $refunds->moneyShow();
    9. })
    10. ->each(function(Order $order){
    11. $order->loadGoods();
    12. $order->renderConst();
    13. $order->moneyShow();
    14. })->toArray('id,title')
    15. ->page($page,$step)

    上面同时演示了 结果转数组和二级缓存的使用

    同时说明下OrderRefunds::table('or') 返回 o_r 的表名OrderRefunds::fields() 返回所有的字段->fields(OrderRefunds::fields(),'o_r','r')去o_r 中的字段 并添加上前缀r

    上一篇:const   下一篇:record 更多方法