Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk menentukan sama ada nilai dan parameter JSON tidak sama dalam Laravel?

<p>Saya mahu mendapatkan rekod tersebut daripada pangkalan data yang tidak sama dengan "Msg Saya". </p> <p>JSON dalam lajur pangkalan data saya adalah seperti berikut:</p> <pre class="brush:php;toolbar:false;">`{ "pesan": "Pesan Saya", "resource_id": "Resourse" }`</pre> <p>Saya mencuba <code>JSON_EXTRACT</code> dan <code>whereJsonContains</code></p> <p>Tetapi tidak berjaya, saya menggunakan Laravel 8 dengan MySQL. </p> <p>Pertanyaan adalah seperti berikut:</p> <pre class="lang-php prettyprint-override"><code>$records = DB::table('atble')->select('res_id', 'msg_string')->where('res_id', $param)->whereJsonContains('ret_string->msg', ['elem1','elem2'...])->terkini()->first(); </code></pre> <p>Pertanyaan di atas tidak memberi saya hasil. </p> <p>Sebarang bantuan amat kami hargai. </p>
P粉250422045P粉250422045394 hari yang lalu571

membalas semua(1)saya akan balas

  • P粉256487077

    P粉2564870772023-08-27 09:02:59

    Anda mesti mencuba ini

    $records = DB::table('atble')->select('res_id',
    'msg_string')->where('res_id',
    $param)->whereJsonContains('ret_string->msg', ['object_key' => 'object_value'])->latest()->first();

    Juga ikut garis panduan yang betul untuk WhereJsonContains

    Anda juga boleh merujuk pautan iniuntuk bantuan lanjut

    Ini adalah contoh, ia akan membantu anda.

    $array = [0 => 1, 1 => 2, 2 => 3];
    
    // Eloquent
    PaymentTransaction::whereJsonContains('payload->ProductCode- >id',$array)->get();

    balas
    0
  • Batalbalas