CakePHP Set :: извлечь родительский массив на основе условия элемента - PullRequest
0 голосов
/ 22 августа 2011

скажем, у меня есть такой массив:

        [Option] => Array
            (
                [0] => Array
                    (
                        [id] => 30606
                        [option_description_id] => 1
                        [product_id] => 101512
                        [price] => 0
                        [OptionDescription] => Array
                            (
                                [id] => 1
                                [option_type_id] => 1
                                [name] => Factory
                                [short_name] => 
                                [sort_order] => 1
                                [OptionType] => Array
                                    (
                                        [id] => 1
                                        [name] => Warranty
                                        [seo_url] => warranty
                                    )

                            )

                    )

                [1] => Array
                    (
                        [id] => 30607
                        [option_description_id] => 2
                        [product_id] => 101512
                        [price] => 44.99
                        [OptionDescription] => Array
                            (
                                [id] => 2
                                [option_type_id] => 1
                                [name] => +2 Year Extended
                                [short_name] => 
                                [sort_order] => 2
                                [OptionType] => Array
                                    (
                                        [id] => 1
                                        [name] => Warranty
                                        [seo_url] => warranty
                                    )

                            )

                    )

Я хочу извлечь опцию, у которой ID option_type_id ID OptionDescription равен 1

Есть ли способ сделать это легко с помощью Set :: extract?

1 Ответ

0 голосов
/ 22 августа 2011

Ну, конечно, через две минуты после того, как я отправлю свой вопрос (после нескольких часов попыток выяснить это), я понимаю, насколько это просто.

Чтобы извлечь родительский элемент, вы используете /.. в вашем синтаксисе пути.

Таким образом, моя строка для всех опций, type_ids которых равна 2, будет:

Set::extract('/Option/OptionDescription[option_type_id=2]/..', $product);
...