0

次のcakephpクエリを使用してmysqlからデータを取得しています。

    $tops = $this->PageBanner->find('all', array(
        'conditions' => array(
            'PageBanner.status' => 1
        ),
        'fields' => array(
            'PageBanner.page_url',
            'PageBanner.image',
            'PageBanner.logo',
            'PageBanner.logo_text',
            'PageBanner.content'
        )
    )); 

このクエリは、次の結果を返します。

  [0] => Array
    (
        [PageBanner] => Array
            (
                [page_url] => index
                [image] => home_banner.png
                [logo] => home_logo.png
                [logo_text] => abc 
                [content] => abc.
            )

    )

[1] => Array
    (
        [PageBanner] => Array
            (
                [page_url] => write_review
                [image] => kids2.png
                [logo] => home_logo.png
                [logo_text] => abc
                [content] => abc. 
            )

    )

ただし、データを次の形式で返す必要があります。

  [index] => Array
    (
                [page_url] => index
                [image] => home_banner.png
                [logo] => home_logo.png
                [logo_text] => abc
                [content] => abc.
    )

[write_review] => Array
    (
                [page_url] => write_review
                [image] => kids2.png
                [logo] => home_logo.png
                [logo_text] => abc
                [content] => abc. 
    )

配列インデックス(ei 0、1)の代わりにpage_urlフィールドコンテンツが必要です。この形式でデータを取得することは可能ですか、それともアレイを手動で構成する必要がありますか?

4

1 に答える 1

1
$result = Set::combine($tops, '{n}.PageBanner.page_url', '{n}.PageBanner');
pr($result);
于 2012-12-10T09:55:37.057 に答える