Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] Kolumny tylko z jednej z łączonych relacji
Forum PHP.pl > Forum > PHP > Frameworki
masterix
Witam,

Mam dwie relacje, w obu jest mnóstwo kolumn, ale potrzebuję w wyniku zapytania tylko kolumny jednej z nich. Jak to zrobić w obiekcie Criteria, aby nie pisać:
  1. <?php
  2. $c->addSelectColumn( col1 );
  3. $c->addSelectColumn( col2 );
  4. // itd
  5. ?>

?

pzdr.
c3zi
$oCriteria = new Criteria();
$oCriteria->clearSelectColumns();
$oCriteria->addSelectColumn( 'col1' );
$oCriteria->addSelectColumn( 'col2' );
TableNamePeer::doSelectRS( $oCriteria );

Z tym, że będziesz miał tablice zamiast obiektów.
masterix
Mam wrażenie, że napisałeś coś podobnego do tego, czego nie chcę uzyskać.
Nie chcę właśnie pisać ciągle addSelectColumn dla każdej kolumny tylko zrobić to jakoś "zbiorowo" dla wszytstkich kolumn z jednej relacji.

Jeśli się mylę w zrozumieniu Twojego kodu to wyjaśnij go nieco smile.gif

pzdr.
arecki
  1. <?php
  2. $cr = new Criteria();
  3.    $cr->addJoin(FilesPeer::CATEGORY_ID, FilesCategoryPeer::ID);
  4.    $cr->clearSelectColumns()->addSelectColumn(implode(',', array_values(FilesPeer::getFieldNames(BasePeer::TYPE_COLNAME))));
  5.    $this->setVar('files', FilesPeer::doSelectRS($cr));
  6. ?>
masterix
Jeszcze nie sprawdziłem, ale chyba o to mi chodziło - dzięki smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.