Как получить только первую строку таблицы ассоциаций в cakephp 3.2

Я новичок в cakephp 3.2. я хочу получить только первую строку (или только одну строку вместо всей строки) таблицы ассоциаций в cakephp. Я использовал приведенный ниже запрос, чтобы получить его, но не получил точного результата, который мне нужен (он работает только для первой строки, после того как он не работает.)

 $fetchCampaignFirst = $this->Campaigns->find()->contain(['CampaignVideos' => ['queryBuilder' => function ($q) {
                            return $q->limit(1);
                        }]]));

Его выдача положить нравится.

[
    {
        "id": 1,
        "user_id": 95,
        "unique_id": "e47d2a7d13151c96944e235c6f5be5d0",

        "campaign_videos": [
            {
                "id": 1,
                "campaign_id": 1,

            }
        ]
    },
    {
        "id": 2,

        "campaign_videos": []
    },
    {
        "id": 3,

        "campaign_videos": []
    },

Здесь кампания_видео пуста для идентификаторов 2 и 3, в то время как она подходит только для идентификатора 1 (идентификатор 1 имеет 3 записи, из которых я хочу только 1, поэтому я пробовал приведенный выше код, он вообще не работает для идентификаторов 2 и 3). Пожалуйста, предложите мне. Любое предложение будет высоко оценено.


person sradha    schedule 18.05.2016    source источник
comment
ваш $q->limit(1) работает?   -  person Murad Hasan    schedule 18.05.2016
comment
вы должны попробовать что-то вроде этого: $this->User->find('first');   -  person Murad Hasan    schedule 18.05.2016