嗨,我是 cakephp 3.2 v 的新手。在这里我使用了模型关联(hasMany)。在绑定部分(campaign_videos)中,我只想获取一条记录,因此为此,我在下面放置了代码来管理它。我在db中的实际数据。
[
{
"id": 1,
"user_id": 95,
"campaign_videos": [
{
"id": 1,
"campaign_id": 1,
},
{
"id": 3,
"campaign_id": 1,
}
]
},
{
"id": 2,
"user_id": 95,
"campaign_videos": [
{
"id": 2,
"campaign_id": 2,
}
]
},
$fetchCampaignFirst = $this->Campaigns->find()->contain(['CampaignVideos' => ['queryBuilder' => function ($q) {
return $q->limit(1);
}]]);
我得到这个限制只适用于第一个数据,而不适用于其他人(其他人甚至不显示获取的数据)。
下面我写了输出
在这里我想得到一个输出
[
{
"id": 1,
"user_id": 95,
"campaign_videos": [
{
"id": 1,
"campaign_id": 1,
},
]
},
{
"id": 2,
"user_id": 95,
"campaign_videos": [
{
"id": 2,
"campaign_id": 2,
}
]
}]
只想要campaign_videos 的第一条记录。在使用 queryBuilder 查询之后,我得到了输出。
[
{
"id": 1,
"user_id": 95,
"campaign_videos": [
{
"id": 1,
"campaign_id": 1,
},
]
},
{
"id": 2,
"user_id": 95,
"campaign_videos": [
]
}]
我没有得到第二个 id 的任何数据,而数据存在。请给我建议。先感谢您。