搜尋

首頁  >  問答  >  主體

傳遞Laravel Eloquent查詢參數的動態方法

<p>我有以下以字串格式表示的查詢參數</p> <pre class="brush:php;toolbar:false;">$query = '->whereIn('short_code', ["9999"])->whereBetween('request_timestamp', [request(' startTime'), request('endTime')])';</pre> <p>我該如何將它傳遞給Eloquent?我試圖實現類似這樣的效果</p> <pre class="brush:php;toolbar:false;">InboundMessage::query()->{$query};</pre> <p>我得到了以下錯誤</p> <pre class="brush:php;toolbar:false;">屬性[->whereIn('short_code', ["9999"])->whereBetween('request_timestamp', [request('startTime' ), request('endTime')])]在Eloquent建構器實例上不存在。 </pre>
P粉879517403P粉879517403459 天前440

全部回覆(1)我來回復

  • P粉600402085

    P粉6004020852023-09-01 10:40:21

    上述查詢的問題在於它看起來像這樣

    InboundMessage::query()->->whereIn('short_code', ["9999"])..

    由於您在查詢建構器和$query字串中都使用了->。所以只要調整您的$query為

    $query = 'whereIn('short_code', ["9999"])->whereBetween('request_timestamp', [request('startTime'), request('endTime')])';

    回覆
    0
  • 取消回覆