CakePHP-Fr.Org

Forum francophone du Framework CakePHP

Vous n'êtes pas identifié.

#1 10-10-2016 17:15:45

6120
The Big Cake
Date d'inscription: 06-11-2009
Messages: 379

contain et limit

cakephp 3.x

Si j'écris :

Code: php

  1. $categories = $this->Categories->find('threaded', [
  2.           'fields' => [
  3.             'Categories.id', 'Categories.name', 'Categories.parent_id', 'Categories.lft', 'Categories.published'
  4.           ],
  5.             'contain' => [
  6.           'Articles' => function ($q) {
  7.             return $q
  8.             ->select(['Articles.id', 'Articles.category_id', 'Articles.name'])
  9.             ->where(['Articles.published' => 1])
  10.             ->order(['Articles.name' => 'ASC'])
  11.             ->limit(200)
  12.             ;
  13.           }
  14.             ],
  15.             'order' => ['Categories.lft' => 'asc']
  16.         ]);

il n'y a pas d'erreur mais ce n'est pas ce que je veux.
Dans ce cas, le nombre total d'articles sera limité à 200.

Ce que je voudrais, c'est limiter le nombre d'articles par catégorie.

Merci pour vos solutions.

Dernière modification par 6120 (11-10-2016 06:40:00)

Hors ligne

 

#2 27-10-2016 16:52:34

Iziwas
Pitivier
Date d'inscription: 27-10-2016
Messages: 13

Re: contain et limit

Bonjour 6120,

dans ton cas, ceci ne fonctionnera pas car le paramètre LIMIT n'est pas autorisée dans une sous-requête.
Tu vas devoir, à mon avis, passer par une requête manuelle.

J'ai trouvé une documentation qui pourrait t'intéresser : http://blog.developpez.com/james-poulso … e_sous_req

N'hésites pas à revenir si tu as des difficultés.

Cordialement,
Izi

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB
Traduction par FluxBB.fr