QueryBuilder-Limit funktioniert nur für die erste Zeile in cakephp 3.2 [duplizieren]
Diese Frage hat hier bereits eine Antwort:
Wie kann ich die Anzahl der enthaltenen Zuordnungen pro Datensatz / Gruppe begrenzen? 1 AntwortHii ich bin neu in cakephp 3.2 v. Hier habe ich Modell Assoziation (hasMany) verwendet. Hier im Bindeabschnitt (campaign_videos) möchte ich nur einen Datensatz abrufen. Deshalb habe ich den Code unten angegeben, um ihn zu verwalten. meine aktuellen daten in 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);
}]]);
Ich erhalte dieses Limit nur für erste Daten, nicht für andere (andere zeigen die abgerufenen Daten sogar nicht an).
Unten habe ich die Ausgabe geschrieben
Hier möchte ich eine Ausgabe wie @ bekomm
[
{
"id": 1,
"user_id": 95,
"campaign_videos": [
{
"id": 1,
"campaign_id": 1,
},
]
},
{
"id": 2,
"user_id": 95,
"campaign_videos": [
{
"id": 2,
"campaign_id": 2,
}
]
}]
Nur die erste Aufzeichnung von campaign_videos möchten. Hier, nachdem ich die queryBuilder-Abfrage verwendet habe, erhalte ich das Ergebnis "Gefällt mir".
[
{
"id": 1,
"user_id": 95,
"campaign_videos": [
{
"id": 1,
"campaign_id": 1,
},
]
},
{
"id": 2,
"user_id": 95,
"campaign_videos": [
]
}]
Ich erhalte keine Daten für die zweite ID, während Daten dafür vorhanden sind. Bitte schlagen Sie mich vor. Danke im Voraus