logo

Dodatni tipovi blokova (EBT) - Novo iskustvo rada sa Layout Builder-om❗

Dodatni tipovi blokova (EBT) – stilizovani, prilagodljivi tipovi blokova: slajdšouvi, kartice sa tabovima, kartice, akordeoni i mnogi drugi. Ugrađena podešavanja za pozadinu, DOM Box, javascript dodatke. Iskusite budućnost kreiranja rasporeda već danas.

Demo EBT moduli Preuzmite EBT module

❗Dodatni tipovi pasusa (EPT) – Novo iskustvo rada sa pasusima

Dodatni tipovi pasusa (EPT) – analogni skup modula zasnovan na pasusima.

Demo EPT moduli Preuzmite EPT module

Scroll
18/06/2025, by Ivan

Za grupisanje po određenom polju koristite metod groupBy().

$query->groupBy('uid');

Gornji kod će upitu narediti da grupiše po polju uid. Obratite pažnju da ime polja ovde mora biti alias kreiran metodama addField() ili addExpression(), pa ćete u većini slučajeva želeti da koristite vraćenu vrednost tih metoda da biste bili sigurni da je korišćen pravi alias.

Da biste dobili broj redova grupisanih po polju, na primer uid, možete izvršiti sledeće:

$query->addExpression('count(uid)', 'uid_node_count');

Da biste grupisali po više polja, jednostavno pozovite groupBy() više puta redosledom koji želite.

Having

Moguće je dodati uslov na agregirane vrednosti.

$query->having('COUNT(uid) >= :matches', [':matches' => $limit]);

U ovom primeru će biti pronađeni slučajevi gde je broj uid-ova veći ili jednak $limit. Obratite pažnju da prvi parametar having uslova nije filtriran pre slanja bazi, tako da korisničke vrednosti treba prosleđivati preko drugog parametra.

Primeri groupBy i having

Sledeći kod broji broj čvorova po UID-u:

$query = $connection->select('node', 'n')
  ->fields('n', ['uid']);
$query->addExpression('count(uid)', 'uid_node_count');
$query->groupBy("n.uid");
$query->execute();

Sledeći blok koda uzima prethodni primer brojanja čvorova po uid i ograničava rezultate na uid-ove koji imaju najmanje 2 zapisa.

$query = $connection->select('node', 'n')
    ->fields('n',['uid']);
$query->addExpression('count(uid)', 'uid_node_count');
$query->groupBy("n.uid");
$query->having('COUNT(uid) >= :matches', [':matches' => 2]);
$results = $query->execute();

 

Source URL:

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.