zoukankan      html  css  js  c++  java
  • tp5.1 关联条件查询haswhere 用field限制字段失效的问题

    如果你模型中使用haswhere 查询之后再用field限制字段你会发现完全失效,查询出的字段包含所有值

    如:

    错误写法

    $data = PayOrderModel::hasWhere('user', ['id'=>$this->USER->id])
        ->field('order_title,order_number,order_price,pay_type,actual_price,pay_time')
        ->where('status', ['=',2], ['=',4], 'or')
        ->order('id','desc')
        ->limit($start,$limit)
        ->select();
    

    那正确写法是什么呢?

    正确的应该是在haswhere的第三个参数中写入要限制的字段

    需要注意的是,限制完了后如果两个模型存在相同的字段需要加上表名前缀或模型名前缀

    推荐使用模型名的方式

    $data = PayOrderModel::hasWhere('user', ['id'=>$this->USER->id], 'order_title,order_number,order_price,pay_type,actual_price,pay_time')
        //->field('order_title,order_number,order_price,pay_type,actual_price,pay_time')
        ->where('status', ['=',2], ['=',4], 'or')
        //->order('id','desc')
        //下面这两种方式任选一种
        //使用表名
        //->order('pay_order.id','desc')
        //使用模型名
        ->order('PayOrderModel.id','desc')
        ->limit($start,$limit)
        ->select();
    
  • 相关阅读:
    Unity Glossary
    Event-Driven Programming: Introduction, Tutorial, History (Stephen Ferg 著)
    2019年11月
    2019年10月
    2019年9月
    LuaFramework 学习
    xLua 学习
    2019年8月
    【原】AFNetworking源码阅读(二)
    【原】AFNetworking源码阅读(一)
  • 原文地址:https://www.cnblogs.com/makalochen/p/14171788.html
Copyright © 2011-2022 走看看