У меня проблема с объединением таблиц в одну огромную таблицу, чтобы все столбцы были доступны без вложенных FOR или использования в них отношений. Ситуация такая:
cars
========
id_producer (PK)
id_model (PK)
length
weight
...
texts
============
id_model (PK)
language (PK)
text
...
Таблицы разделяют 1 ключ: id_model
Я хочу присоединиться к этим таблицам следующим образом:
SELECT *
FROM cars c
JOIN texts t ON c.id_model = t.id_model
WHERE t.language = 'english'
.. он вернет 1 строку для каждой машины.
SQL легко, Yii нет :(
Я пытался сделать это, используя область действия или отношение, но так и не получил желаемого результата. Я хочу написать следующее:
$carsWithTexts = Cars::model()-> ... something ... ->findAll()
foreach ($carsWithTexts as $c)
{
echo $c->id_producer;
echo $c->id_model;
echo $c->id_text;
}
.. Никаких вложенных FOR, никаких отношений или областей в FOR.
Это возможно? Или мне всегда нужно использовать следующую конструкцию:
$carsWithTexts = Cars::model()-> ... relation ... ->findAll()
foreach ($carsWithTexts as $c)
{
echo $c->id_producer;
echo $c->id_model;
echo $c->relation[0]["id_text"]; // or nested for
}
Я знаю, что могу использовать команды «с» и «вместе», я это сделал, но это не сработало так, как я хочу.