Po pierwsze witam na forum i od razu informuję, że dopiero zaczynam przygodę z Yii
Mam trzy tabele
-
Spis |id_ksiazki (FK)|id_wlasciciela (FK)
-
Ksiazki |id|nazwa|
-
Wlasciciele |id|nazwa|
I teraz tak. Wiem, jak w SQL wypisać nazwy książek i właścicieli na podstawie spisu
SELECT k.nazwa, w.nazwa
FROM tbl_spis
JOIN tbl_ksiazki k ON tbl_spis.id_ksiazki = k.id
JOIN tbl_wlasciciele w ON tbl_spis.id_wlasciciela = w.id
ORDER BY w.id
Mam kontroler SpisController.php
class SpisController extends Controller
{
public $lista;
public function actionIndex()
{
$criteria = new CDbCriteria();
$criteria->select = 'k.nazwa';
$criteria->join = 'JOIN tbl_ksiazki k ON t.id_ksiazki = k.id';
$criteria->join .= ' JOIN tbl_wlasciciele w ON t.id_wlasciciela = w.id';
$criteria->condition .= '1=1';
$criteria->order = 'w.id';
$lista=Spis::model()->findAll($criteria);
$this->lista = $lista;
$this->render('index', array(
'lista'=>$this->lista,
));
}
tylko, że to nie działa w sensie nie pobiera nazw z tbl_ksiazki i tbl_wlasciciele
W modelu Spis mam też ustawione relacje (mam nadzieję, że dobrze ):
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'id_wlasciciela' => array(self::BELONGS_TO, 'Wlasciciele', 'id'),
'id_ksiazki' => array(self::BELONGS_TO, 'Ksiazki', 'id'),
);
}
Wiem, że problem pewnie jest błahy, dlatego też proszę o wyrozumiałość.