swoole框架hyperf增加类似yii2的andFilterWhere功能以及打印sql执行语句dumpSql功能

本文介绍如何在基于Swoole的Hyperf框架中,模仿Yii2的andFilterWhere功能,实现更灵活的查询条件过滤,并添加打印SQL执行语句的dumpSql功能。通过继承现有类并利用相应方法,可以方便地扩展Hyperf的查询能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

swoole框架hyperf增加类似yii2的andFilterWhere功能以及打印sql执行语句dumpSql功能

转载请注明出处:https://janrs.com

直接创建一个基础的ActiveRecord类,继承于Hyperf\DbConnection\Model\Model,然后使用Hyperf\Database\Query\Builder的方法macro进行添加。代码如下
<?php
declare(strict_types=1);

namespace Api\ApiBase;

use Hyperf\Database\Query\Builder;
use Hyperf\DbConnection\Model\Model;

/**
 * Class BaseActiveRecord
 * @package Api\ApiBase
 */
class BaseActiveRecord extends Model
{
   
    /**
     * BaseActiveRecord constructor.
     * @param array $attributes
     */
    public function __construct(array $attributes = [])
    {
   
        //添加andFilterWhere()方法
        Builder::macro('andFilterWhere', function ($key, $operator, $value) {
   
            if ($value === '' || $value === '%%' || $value === '%') {
   
                return $this;
            }
            
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值