Kohana 2 ORM: -> with () для отношений has_many - PullRequest
0 голосов
/ 26 сентября 2011

У нас есть таблица для статей и таблица локали для статей.

class Article_Model extends ORM {
    protected $has_many = array('article_translations');

[...]

class Article_Translation_Model extends ORM {

[...]

Таблица «article_translations» содержит столбцы «article_id», «locale_id», «heading», «body» и т. Д.

Можно ли сделать

SELECT article.id, article_translations.heading, article_translations.body
FROM articles
JOIN articles_translations ON (articles_translations.article_id = article.id)
WHERE articles_translations.locale_id = 'en_US.UTF-8'

с использованием Kohana 2 ORM?

Конструкция -> with () работает только для отношений has_one. Конечно, article_translations.article_id и article_translations.locale_id уникальны.

1 Ответ

1 голос
/ 29 сентября 2011

Вы можете пойти другим путем, хотя:

$article_translation = ORM::factory('article_translation')
    ->where('locale_id', 'en_US.UTF-8')
    ->find();

Тогда вы можете ссылаться на столбцы статьи как:

$article_translation->body;
$article_translation->heading;
$article_translation->article->id;
...