Никогда не работая с ORM, прежде чем я подумал, что сегодня попробую попробовать, я столкнулся с первой проблемой, о которой я не знаю, как ее решить (из-за того, что я не понимаю, как работает ORM).Kohana ORM - Как я могу это сделать?
Скажем, у меня есть три таблицы: Языки, коды и сводная таблица Codes_Languages. Все они имеют правильно определенные отношения в моделях.
Теперь, чтобы повторить все имена языков, я мог бы так:
$languages = ORM::factory('languages')->find_all();
foreach ($languages as $language)
{
echo $language->name, '<br />';
}
Если я хочу, чтобы повторить все имена кодов в пределах конкретного языка, я мог бы так:
Но как насчет того, нужно ли мне это сделать: получить последние пять кодов (упорядоченных по DESC на code.time_posted) на каждом языке?
$languages = ORM::factory('languages')->find_all();
???$languages->codes = ORM->order_by('time_posted', 'desc')->limit(5);???
foreach ($languages as $language)
{
echo $language->name, '<br />';
foreach ($language->codes as $code)
{
echo $code->name, ' ', $code->description;
}
}
Я разместил вопросительные знаки вокруг некоторого псевдокода, который, я думаю, объясняет, что я пытаюсь сделать. Недавно я преобразовал из CodeIngiter, потому что я думаю, что Kohana немного более продумано, однако документы выглядят недостаточными, и я не мог понять, как делать то, что мне нужно.
Любое руководство будет замечательным. Благодарю.