我有以下以字符串格式表示的查询参数
$query = '->whereIn('short_code', ["9999"])->whereBetween('request_timestamp', [request('startTime'), request('endTime')])';
我该如何将它传递给Eloquent?我试图实现类似这样的效果
InboundMessage::query()->{$query};
我得到了以下错误
属性[->whereIn('short_code', ["9999"])->whereBetween('request_timestamp', [request('startTime'), request('endTime')])]在Eloquent构建器实例上不存在。 Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
上述查询的问题在于它看起来像这样
InboundMessage::query()->->whereIn('short_code', ["9999"])..由于您在查询构建器和$query字符串中都使用了
->。所以只需调整您的$query为$query = 'whereIn('short_code', ["9999"])->whereBetween('request_timestamp', [request('startTime'), request('endTime')])';