迭代操作

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

  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 更多方法