AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
## each迭代操作 可以对数据进行迭代操作 ~~~ $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('o_r') 返回 o_r 的表名 OrderRefunds::fields() 返回所有的字段 ->fields(OrderRefunds::fields(),'o_r','r') 去o_r 中的字段 并添加上前缀r_ ## eachCo 多协程 迭代操作 >使用和 each一样 不同的 每个迭代都会在一个单独的协程内 >如你返回的数据有 20条,那会有 20个协程同时运行