xxxxxxxxxx
The data types have to match:
// [1, 2]
->whereJsonContains('players', 1) // Works.
->whereJsonContains('players', '1') // Doesn't work.
// ["1", "2"]
->whereJsonContains('players', '1') // Works.
->whereJsonContains('players', 1) // Doesn't work.
xxxxxxxxxx
// JSON related and helpful functions:
->whereJsonContains('json_column_name->key->nested_key', $value)
->whereJsonDoesntContain('json_column_name->key', $value)
->orWhereJsonContain('json_column_name', $value)
->orWhereJsonDoesntContain('json_column_name', $value)
// Variations should be valid for all examples above
// Please note data types need to match -> $value = 1 !== "1", so if you search for "1" as a string, in an array of numbers [1,2] it won't work:
// [1, 2]
->whereJsonContains('players', 1) // Works
->whereJsonContains('players', '1') // Doesn't work
// ["1", "2"]
->whereJsonContains('players', '1') // Works
->whereJsonContains('players', 1) // Doesn't work
xxxxxxxxxx
PlanificacionInfo::select('datos_complementarios')->WhereJsonContains('datos_complementarios', ["value" => "Escamonda 2019"]);