sql >> データベース >  >> RDS >> Mysql

JSON配列に含まれる場所を選択します

    JSON_CONTAINS() あなたが探していることを正確に行います:

    現在、Laravelのクエリビルダーは対応するAPIを提供していません。 オープンな内部提案 があります しかしそれのために。

    それまでの間、生のクエリを実行できます:

    \DB::table('users')->whereRaw(
        'JSON_CONTAINS(meta->"$.colors", \'["red"]\')'
    )->get();
    

    これにより、meta->colorsに「red」が含まれるすべてのユーザーが返されます。 JSONフィールド。 -> オペレーター MySQL5.7.9以降が必要です。

    whereRaw()を呼び出すこともできます Eloquentモデルに直接。

    Laravel 5.6

    5.6リリースの時点で、Laravelのクエリビルダーには新しい whereJsonContains メソッド。



    1. データベース内のテーブルのMySQLテーブルサイズを取得するにはどうすればよいですか?

    2. .NET / Oracle:プログラムでDDLステートメントを使用してスクリプトを実行する方法

    3. Ansibleを使用したPostgreSQLのデプロイとメンテナンス

    4. 重複エントリの例外をキャッチ