suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Dynamische Methode zur Übergabe von Laravel Eloquent-Abfrageparametern

<p>Ich habe die folgenden Abfrageparameter im String-Format</p> <pre class="brush:php;toolbar:false;">$query = '->whereIn('short_code', ["9999"])->whereBetween('request_timestamp', [request(' startTime'), request('endTime')])';</pre> <p>Wie gebe ich es an Eloquent weiter? Ich versuche so etwas zu erreichen</p> <pre class="brush:php;toolbar:false;">InboundMessage::query()->{$query};</pre> <p>Ich habe die folgende Fehlermeldung erhalten</p> <pre class="brush:php;toolbar:false;">Properties[->whereIn('short_code', ["9999"])->whereBetween('request_timestamp', [request('startTime') ), request('endTime')])] ist auf der Eloquent-Builder-Instanz nicht vorhanden. </pre>
P粉879517403P粉879517403439 Tage vor427

Antworte allen(1)Ich werde antworten

  • 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')])';

    Antwort
    0
  • StornierenAntwort