In spatie\QueryBuilder , an error is reported: call to undefined method spatie\\querybuilder\\AllowedFilter::endsWithStrict()
1. In spatie\QueryBuilder, an error is reported: call to undefined method spatie\QueryBuilder\\AllowedFilter::endsWithStrict(). as shown in Figure 1
{
"status_code": 500,
"code": 0,
"message": "Call to undefined method Spatie\\QueryBuilder\\AllowedFilter::endsWithStrict()"
}
2. Search in vendor/spatie/laravel-query-builder/src/allowedFilter.php: EndsWithStrict, confirm that the EndsWithStrict method does not exist.
3. Check composer.json , “spatie/laravel-query-builder”: “^5.2”, . Use composer to automatically update to the latest compatible version of the package, 5.2.0 => 5.7.0. as shown in Figure 2
PS E:\wwwroot\object> composer update spatie/laravel-query-builder
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 1 update, 0 removals
- Upgrading spatie/laravel-query-builder (5.2.0 => 5.7.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 1 update, 1 removal
- Downloading spatie/laravel-query-builder (5.7.0)
- Removing laravel/telescope (v5.2.2)
- Upgrading spatie/laravel-query-builder (5.2.0 => 5.7.0): Extracting archive
Generating optimized autoload files
4. In Spatie\QueryBuilder, no more errors are reported. Look at the generated SQL, in line with expectations. as shown in Figure 3
select
`table`.*
from
`table`
where
`table`.`shipping_type` = 2
and `shipping_at_gmt` >= '2024-06-14 02:00:51'
and `shipping_at_gmt` <= '2024-09-14 02:00:51'
and (
`table`.`plat_order_no` LIKE '%GM'
or `table`.`plat_order_no` LIKE '%20'
)
order by
`operated_at_gmt` desc
limit
100 offset 0


