0

我需要将其字段中每种语言的数据作为数组获取。CakePHP 中最好的方法可能是Set::combine但不能让它工作。我可以手动完成,foreach但我认为这不是最好的方法。

这是示例:

Array
    (
        [Article] => Array
            (
                [id] => 131
                [title] => TEST
            )

        [titleTranslation] => Array
            (
                [0] => Array
                    (
                        [id] => 62
                        [locale] => eng
                        [model] => Article
                        [foreign_key] => 131
                        [field] => title
                        [content] => TEST
                    )
                [1] => Array
                    (
                        [id] => 63
                        [locale] => fre
                        [model] => Article
                        [foreign_key] => 131
                        [field] => title
                        [content] => Salva
                    )
                [2] => Array
                    (
                        [id] => 64
                        [locale] => rus
                        [model] => Article
                        [foreign_key] => 131
                        [field] => title
                        [content] => Пвет
                    )
            )
    )

进入这个数组:

Array
    (
        [Article] => Array
            (
                [id] => 131
                [title] =>  Array
                    (
                        [eng] => TEST
                        [fre] => Salva
                        [rus] => Пвет
                    )
            )

        .... the rest is not important

    )

解决了 - - -

            $translatedData = Set::combine($this->data['titleTranslation'], '{n}.locale', '{n}.content', '{n}.field');
            $this->data['Article'] = array_merge($this->data['Article'], $translatedData);
4

0 回答 0