Ho un array come questo:utilizzando la classe Hash di cakePHP per estrarre i dati da un array
Array(
[Rating] => Array(
[0] => Array(
[id] => 4
[rating] => -1
),
[1] => Array(
[id] => 14
[rating] => 9.7
),
[2] => Array(
[id] => 26
[rating] => 9.55
)
)
)
ho bisogno di estrarre tutti i feedback> = 0 di questa serie, e solo i numeri. Stavo facendo questo bene con Set::extract('/Rating/rating[rating>-1]', $video)
Ma poi ho appreso che questo è deprecato e si suppone di utilizzare la classe di hash ora. Così ho guardato la nuova sintassi e scrissi:
Hash::extract($video, 'Rating.{n}.rating[rating>-1]');
che mi dà il risultato corretto, ma dà un avvertimento fastidioso: Warning (4096): Argument 1 passed to Hash::_matches() must be an array, string given, called in E:\www\lib\Cake\Utility\Hash.php on line 131 and defined [CORE\Cake\Utility\Hash.php, line 170]
L'avviso non si verifica quando non ho la condizione lì (lo [rating>-1]
), ma ovviamente include i -1, che non voglio. Cosa sto facendo di sbagliato qui? Sto abusando di questa funzione in qualche modo? Dovrei semplicemente usare la classe Set deprecata? O dovrei semplicemente ignorare l'avviso perché non verrà visualizzato una volta che avrò messo questa app in modalità produzione?