zoukankan      html  css  js  c++  java
  • tp5分页+循环子字段

    需求:显示用户订单,且每一条订单显示相应的商品,且分页

    环境:数据库目前订单表只有一个,订单的商品列表储存在这条订单中booklist字段中,以逗号隔开商品ID,字符串的形式保存

    后台代码

            $where = ['money_type'=>0];
                $list = Db::table('xxxdingdan')->where($where)->paginate(4);//订单表
                $page = $list->render();
                $list = $list->all();
                foreach($list as $k=>$v){
                    $arr = explode(",",$v['booklist']);
                    $wherebook['id'] = array('in', $arr);
                    $list[$k]["booklist"] = Db::table('xxxshangpin')->where($wherebook)->select();//商品表
                }
                $this->assign('list',$list);
                $this->assign('page',$page);

    解析一下:

    1. 为什么要用
    $list = $list->all();

    因为
    ->paginate(4);
    之后的数据是变成了对象型的数据,没办法foreach操作后续,所以用
    all()函数来变为数组,用toarray函数也可以,个人感觉all更方便一点,看具体的数据类型选择

    2、之前采用的办法是在前台端进行 {$list->render()} 操作,如果按照上述方法这样执行的话会出现一个问题,就是这个list数据已经由分页对象转化为数组了,前端再调用的时候就会报错。
    于是便$page = $list->render();在还未循环之前写上这段代码,提前赋值

    最后再看下前端代码
                  <ul>
                                {volist name="list" id="vo"}
                                <li class="of ">
                                    <p class="of">
                                        <span class="fl"><i>订单号:</i> {$vo.order_card}</span>
                                        <span class="fr">未付款</span>
                                    </p>
                                    <ul class="">
                                        {volist name="$vo['booklist']" id="v"}
                                        <li>
                                            <img src="...{$v.upload_img}" alt="">
                                            <p>{$v.book_name}</p>
                                        </li>
                                        {/volist}
                                    </ul>
                                    <p>总金额:{$vo.money}</p>
                                </li>
                                {/volist}
                            </ul>
                            <p>
                                {$page}
                            </p>






  • 相关阅读:
    const char* && string && String^ 类型转换
    vs2010 vc++ 统一修改所有工程的目录配置
    OSG开发概览
    osg渲染数据高程文件
    postgis数据库文件shapefile导入 dbf file (.dbf) can not be opened.shapefile import failed.
    Point ZM 转换为Point 类型
    Extjs关于alert显示不出—异步问题
    js执行顺序<转>
    HTML中IFrame父窗口与子窗口相互操作
    SpringMVC学习系列(6) 之 数据验证
  • 原文地址:https://www.cnblogs.com/chenliuxiao/p/12517503.html
Copyright © 2011-2022 走看看