से डेटा निकालने के लिए मैं इस तरह एक सरणी है:cakePHP के हैश वर्ग का उपयोग करते हुए एक सरणी
Array(
[Rating] => Array(
[0] => Array(
[id] => 4
[rating] => -1
),
[1] => Array(
[id] => 14
[rating] => 9.7
),
[2] => Array(
[id] => 26
[rating] => 9.55
)
)
)
मैं सभी रेटिंग> = 0 इस सरणी से, और बस संख्या को निकालने के लिए की जरूरत है। मैं Set::extract('/Rating/rating[rating>-1]', $video)
के साथ यह ठीक कर रहा था लेकिन मैंने तब सीखा कि यह बहिष्कृत है और अब आप हैश क्लास का उपयोग करना चाहते हैं। इसलिए मैं नई वाक्य रचना को देखा और लिखा है:
Hash::extract($video, 'Rating.{n}.rating[rating>-1]');
जो मुझे सही परिणाम देता है, लेकिन यह एक कष्टप्रद चेतावनी देता है: 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]
चेतावनी नहीं होती है जब मैं शर्त नहीं है वहां ([rating>-1]
) लेकिन निश्चित रूप से -1 है, जो मैं नहीं चाहता हूं। मुझसे यहां क्या गलत हो रहा है? क्या मैं इस समारोह को किसी भी तरह दुरुपयोग कर रहा हूं? क्या मुझे बस बहिष्कृत सेट क्लास का उपयोग करना चाहिए? या क्या मुझे चेतावनी को अनदेखा करना चाहिए क्योंकि यह इस ऐप को उत्पादन मोड में डालकर दिखाई नहीं देगा?