foreach循环嵌套履值

浏览:6228 发布日期:2017/05/17 分类:业务逻辑
foreach循环嵌套履值 Indirect modification of overloaded element of think\paginator\driver\Bootstrap has no effect
代码
//两个表order ,order_goods
order_goods 写在另一个model下
$ordergoods=new OrderGoods();
$list=Db::name('order')
->alias('a')
->field($fields)
->join('kuaidi b','a.shipping_id=b.id','left')
->where($where)->order($order)->paginate(10,true,['query'=>$query]);
foreach ($list as $key=>$val){
$goods=$ordergoods->getOrderGoods('*',['order_id'=>$val['order_id'],'is_present'=>0]); //可正常获取值
$list[$key]['goods']=$goods;
}
return $list;

$list[$key]['goods']=$goods; TP5 报错;

以上求解决方案

最终解决方法

public function fetchAll($where,$fields='*',$order='order_id desc',$query=[])
{
$ordergoods=new OrderGoods();
$list=Db::name($this->table)
->alias('a')
->field($fields)
->join('kuaidi b','a.shipping_id=b.id','left')
->where($where)->order($order)->paginate(10,false,[
'query'=>$query
]);
$item='';
foreach($list as $value){
$item[]=$value;
}
// var_dump($item);
// exit;
if($item){
foreach ($item as &$val){
$goods=$ordergoods->getOrderGoods('*',['order_id'=>$val['order_id'],'is_present'=>0]);
$tak_status=$ordergoods->countGoods(['tak_status'=>['gt',0],'order_id'=>$val['order_id']]);
foreach ($goods as &$value)
{
$value['refund']=$ordergoods->refund_goods($val['order_id'],$value['id']);
$value['send']=$ordergoods->send_goods($value['tak_status']);
}
$val['goods']=$goods;
$val['tak_status']=$tak_status;
}
}
return ['list'=>$list,'item'=>$item];
}
list 用于分页
item 用于数据输出

附件 微信截图_20170517002653.png ( 44.89 KB 下载:92 次 )

评论( 相关
后面还有条评论,点击查看>>