Skip to content

Conversation

@zds-s
Copy link
Member

@zds-s zds-s commented Feb 26, 2024

FastBuilderWhere

use Hyperf\Database\Model\Builder;

use Mine\Helper\FastBuilderWhere as BaseBuilder;

// old 
class oldDao {
    public function handleSearch(Builder $builder,array $params) {
        if (!empty($params['username'])){
            $builder->where('username',$params['username']);
        }
        if (!empty($params['user_created_at'])){
            list($startDate,$endDate) = $params['user_created_at'];
            $builder->whereBetween('created_at',[
            \Carbon\Carbon::createFromFormat('Y-m-d',$startDate)->startOfDay()->format('Y-m-d'),
            \Carbon\Carbon::createFromFormat('Y-m-d',$endDate)->startOfDay()->format('Y-m-d')
            ]);
        }
        if (!empty($params['sign_timestamp_at'])){
            list($startDate,$endDate) = $params['created_at'];
            $builder->whereBetween('created_at',[
            \Carbon\Carbon::createFromFormat('Y-m-d',$startDate)->startOfDay()->timestamp,
            \Carbon\Carbon::createFromFormat('Y-m-d',$endDate)->startOfDay()->timestamp
            ]);
        }
        return $builder;
    }
}

// new dao
class newDao {
    public function handleSearch(BaseBuilder $builder,array $params) {
        $builder->eq('username')
                ->dateRange('created_at','user_created_at')
                ->timestampsRange('created_at','sign_timestamp_at');
        return $builder;
    }
}

@zds-s zds-s changed the title Added FastBuilderWhere Add another class for quick filtering Feb 26, 2024
@zds-s zds-s merged commit 5ded8e9 into 2.0 Feb 26, 2024
@zds-s
Copy link
Member Author

zds-s commented Feb 26, 2024

mineadmin/MineAdmin#132

@Chance-fyi
Copy link
Contributor

建议 CI 通过了在 Merge

@zds-s
Copy link
Member Author

zds-s commented Feb 26, 2024

建议 CI 通过了在 Merge

感谢,下次注意

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants