0

このクエリでいくつかの「重複」を取り除くことはできません。

$data = $this->Collection->find('first', array(
        'conditions' => array('Collection.id' => $id),
        'Collection' => array(
            'fields' => array(
                'Collection.name'
            ),
        ),
        'contain' => array(
            'Product' => array(
                'fields' => array(
                    'id'
                ),
                'order' => 'lft ASC',
            ),
            'Product.Detail' => array(
                'fields' => array(
                    'product_id', // should occur only once
                    'image_1_zoom',
                    'image_1_slide',
                    'image_1_detail',
                    'image_1_thumb',
                ),
        ))));

詳細はProductに属し、ProducthasManyDetailがあります。私の問題は、同じproduct_idで複数の詳細を取得したくないということです。'group'を試しましたが成功しませんでした。他のフィールドは内容が異なり、「実際の」重複ではないため、DISTINCTは使用できません。

どんなアイデアでも大歓迎です!:)

4

1 に答える 1

0

配列に入れてみて'limit'=>1ください!Product.Detail

于 2013-01-13T15:13:21.953 に答える