Mam trzy tabele
1. Spis |id_ksiazki (FK)|id_wlasciciela (FK)
2. Ksiazki |id|nazwa|
3. 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 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ść.

Help











