分享
  • 收藏
  • 举报
    X
    标签qb:tag能否指定查询字段
    824
    4

    查询时返回字段如content会非常之慢

    5
    赏礼
    赏钱
    收藏
    点击回复
        全部留言
    • 4
    • mxa 普通粉丝 消费:0元 2019-09-04 11:34 11:346楼

      自己着手改了下,修改qb.php

      protected $tags   =  [

      'tag'      => ['attr' => 'name,type,time,rows,val,list,tpl,order,by,status,class,where,whereor,sql,mid,fid,js,union,field,selectField', 'close' => 1],  //field 过滤循环不显示的字段,多个用,号隔开

      加入

      selectField

      修改方法

      public function tagTag($tag, $content)

      加入

      $selectField = $tag['selectField'];

      修改

      $parse .= '<?php '."\$$name = fun('label@run_label','$name',[$union'val'=>'$val','list'=>'$list','systype'=>'$type','tpl'=>'$tpl','ifdata'=>1,'dirname'=>__FILE__,'rows'=>'$rows','class'=>'$class','order'=>'$order','by'=>'$by',$status'where'=>'$where','selectField'=>'$selectField','whereor'=>'$whereor','sql'=>\"$sql\",'js'=>'$js','cache_time'=>'$cache_time' $str_mid $str_fid]);".' ?>';

      修改C.PHP

      方法

      public static function labelGetList($tag_array=[] , $page=0){

      加入

      $selectField =  $cfg['selectField'];

      修改

      if(strstr($order,'rand()')){
      if($selectField){
      $data = Db::name(self::getTableByMid($mid)) -> where($map) -> whereOr($whereor)->field($selectField) -> orderRaw('rand()') -> paginate($rows,false,['page'=>$page]);
      }else{
      $data = Db::name(self::getTableByMid($mid)) -> where($map) -> whereOr($whereor) -> orderRaw('rand()') -> paginate($rows,false,['page'=>$page]);
      }

      }else{
      if($selectField){
      $data = Db::name(self::getTableByMid($mid)) -> where($map) -> whereOr($whereor)->field($selectField) -> order($order,$by) -> paginate($rows,false,['page'=>$page]);

      }else{
      $data = Db::name(self::getTableByMid($mid)) -> where($map) -> whereOr($whereor) -> order($order,$by) -> paginate($rows,false,['page'=>$page]);

      }
      }


      页面调用使用

      {qb:tag
      selectField="id,mid,fid,title,view,agree,create_time,picurl,label,link"



      码农 消费:0元 2019-09-04 12:46
      你的动手能力好强
    0 赏钱 赏礼回复
    • 银杏114在线 实战运营者 消费:3609.79元 2019-09-03 19:03 19:036楼

      admin威武

    0 赏钱 赏礼回复
    • admin 超级管理员 消费:3.03元 2019-09-03 18:36 18:366楼

      要指定字段的话。就用sql语句。或者是 class类

      其实有一个最简单的方法。就是设置 js参数 比如


      <div class="uuu">

      {qb:tag name="" js="uuu"}{/qb:tag}

      </div>


      注册uuu参数跟DIV的类名保持一致。 这样就是异步加载标签内容了。 

    0 赏钱 赏礼回复
    更多回复
    恢复多功能编辑器
  • 3 1
  • 推荐内容
    扫一扫访问手机版
    请选择要切换的马甲:

     
    网页即时交流
    QQ咨询
    咨询热线
    020-28998648