witam,
nie będę zakładał nowego tematu bo problem jest pokrewny.
mam problem z wyswietleniem pola (NAZWA) z innej tablicy (Sl_Ulice).
w metodzie odpowiedzialnej za listowanie zawartoci tablicy Sl_Adresy doda³em:
1) LEFT po odpowiednich polach obu tabel
2) pole NAZWA z tablicy Sl_Ulice
<?php
public function executeList()
{
$c = new Criteria();
$c->clearSelectColumns();
$c->addJoin(Sl_AdresyPeer::ID_ULICY, Sl_UlicePeer::ID_ULICY,Criteria::LEFT_JOIN);
$c->addSelectColumn(Sl_AdresyPeer::ID_ADRES);
$c->addSelectColumn(Sl_AdresyPeer::ID_PREFIX);
$c->addSelectColumn(Sl_AdresyPeer::ID_ULICY);
$c->addSelectColumn(Sl_AdresyPeer::NUMER);
$c->addSelectColumn(Sl_AdresyPeer::ID_KOD_POCZTOWY);
$c->addSelectColumn(Sl_AdresyPeer::ID_ARKUSZ);
$c->addSelectColumn(Sl_AdresyPeer::X);
$c->addSelectColumn(Sl_AdresyPeer::Y);
$c->addSelectColumn(Sl_UlicePeer::NAZWA);
$this->sl_adresys = Sl_AdresyPeer::doSelect($c);
}
?>
zapytanie do bazy jest tworzone prawidłowo (fragment pliku log):
SELECT sl_adresy.ID_ADRES, sl_adresy.ID_PREFIX, sl_adresy.ID_ULICY,
sl_adresy.NUMER, sl_adresy.ID_KOD_POCZTOWY, sl_adresy.ID_ARKUSZ, sl_adresy.X,
sl_adresy.Y, sl_ulice.NAZWA FROM sl_adresy LEFT JOIN sl_ulice ON
(sl_adresy.ID_ULICY=sl_ulice.ID_ULICY)
i za cholerę nie mogę wyświetlić sl_ulice.NAZWA w templatce listSuccess.php
próbowałem róźnych metod - ostatnia jest taka (fragment):
<?php foreach ($sl_adresys as $sl_adresy): ?>
<tr>
<td>
<?php echo link_to
($sl_adresy->getIdAdres(), 'sl_adresy/show?id_adres='.$sl_adresy->getIdAdres()) ?></td>
<td>
<?php echo $sl_adresy->getIdPrefix() ?></td>
<td>
<?php echo $sl_adresy->getIdUlicy() ?></td>
<td>
<?php echo $sl_adresy->getNumer() ?></td>
<td>
<?php echo $sl_adresy->getIdKodPocztowy() ?></td>
<td>
<?php echo $sl_adresy->getIdArkusz() ?></td>
<td>
<?php echo $sl_adresy->getX() ?></td>
<td>
<?php echo $sl_adresy->getY() ?></td>
<td>
<?php echo $sl_adresy->getString(9) ?></td>
</tr>
<?php endforeach; ?>
i otrzymuję: Fatal error: Call to undefined method Sl_Adresy::getString()
Sprawdziłem także dla $sl_adresy->getString(1) - ten sam błąd.
Przecież; getString() nie jest zwiazany z Sl_Adresy ?
Czy też mój problem można rozwiązać nie przy pomocy propela tylko creole i zrobic same hydro (patrz - to do mnie - odpowiedź wyżej) ? ale zapytanie sql jest generowane dobrze.
pozdrawiam