From aa7e47062f394de2438676f676ce29aa2ac9e30a Mon Sep 17 00:00:00 2001 From: "Marco A. Nina Mena" Date: Tue, 5 Aug 2025 18:26:52 -0400 Subject: [PATCH 1/2] Add complex case for wrap json selector --- src/Grammars/MySqlGrammar.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Grammars/MySqlGrammar.php b/src/Grammars/MySqlGrammar.php index 45d6699..1b4c59a 100644 --- a/src/Grammars/MySqlGrammar.php +++ b/src/Grammars/MySqlGrammar.php @@ -11,7 +11,17 @@ class MySqlGrammar extends BaseMySqlGrammar */ public function wrapJsonSelector($value) { - [$field, $path] = explode('->', $value, 2); + $parts = explode('->', $value); + + if (count($parts) === 2) { + // Caso simple: "data->interest_check" + [$field, $path] = $parts; + } else { + // Case complex: "collection_3->data->interest_check" + // Take all except the last element as field + $path = array_pop($parts); + $field = implode('.', $parts); + } return 'LEFT(' . $field . '->>"$.' . str_replace('->', '.', $path) . '", 255)'; } From 1cb33eab51023090a49c18bdf7b7b4a2dd5ec21c Mon Sep 17 00:00:00 2001 From: "Marco A. Nina Mena" Date: Fri, 8 Aug 2025 08:34:49 -0400 Subject: [PATCH 2/2] fix grammar --- src/Grammars/MySqlGrammar.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Grammars/MySqlGrammar.php b/src/Grammars/MySqlGrammar.php index 1b4c59a..df028e0 100644 --- a/src/Grammars/MySqlGrammar.php +++ b/src/Grammars/MySqlGrammar.php @@ -14,7 +14,7 @@ public function wrapJsonSelector($value) $parts = explode('->', $value); if (count($parts) === 2) { - // Caso simple: "data->interest_check" + // Case simple: "data->interest_check" [$field, $path] = $parts; } else { // Case complex: "collection_3->data->interest_check"