迭代操作
迭代操作可以对数据进行迭代操作
$select=Good::select("g.*")->order("rank desc");
$select->each(function(Good $good ){
$good->loadTags();
$good->loadSku();
$good->loadClick();
});
$data=$select->toArray('id,title')->cache()->page($page,$step);
子类型也支持迭代操作
下面是在数据结果集合里挑选字段为 r_ 开头的数据转化为OrderRefunds对象设置到refunds字段,同时进行迭代下面的可以仔细读下
$select=DB::select(OrderRefunds::table('o_r'))
->fields("*",'o')
->fields(OrderRefunds::fields(),'o_r','r')
->join(Order::table('o'),'o.id=o_r.order_id');
$data=$select->setRecord(Order::class)
->setSubRecord('refunds','r',OrderRefunds::class,
function(OrderRefunds $refunds){
$refunds->moneyShow();
})
->each(function(Order $order){
$order->loadGoods();
$order->renderConst();
$order->moneyShow();
})->toArray('id,title')
->page($page,$step)
上面同时演示了 结果转数组和二级缓存的使用
同时说明下OrderRefunds::table('or') 返回 o_r 的表名OrderRefunds::fields() 返回所有的字段->fields(OrderRefunds::fields(),'o_r','r')去o_r 中的字段 并添加上前缀r
上一篇:const 下一篇:record 更多方法