Я использую Kohana 3.x. У меня есть простой запрос для извлечения объектов из моей базы данных MySQL:Kohana 3.x: SQL-запрос для сущностей и всех их членов
$query = DB::query(Database::SELECT, "SELECT * FROM myEntity WHERE foreignKey = {$myForeignKey};");
$result = $query->execute($this->database);
$resultArray = $result->as_array();
Работает так, как ожидалось. My $ resultArray содержит столько объектов, сколько там, где сущности соответствуют запросу. Каждый объект в $ resultArray является словарем, содержащим свойства как пары kex-value.
Но теперь я хотел бы получить для каждого «myEntity» все свои атрибуты-члены! Сейчас я использую PHP-для-цикл вроде так:
foreach ($resultArray as $entity) {
$query = DB::query(Database::SELECT, "SELECT * FROM member WHERE foreignKey = {$entity['id']};");
$result = $query->execute($this->database);
$memberArray = $result->as_array();
// do something with the memberArray..
}
Я предполагаю, что это глупо делать другой SQL-запрос для каждого «MyEntity» Объект, и я бы предпочел бы сделать один запрос получить все «myEntities» плюс всех участников для каждого из «myEntities». Но как я могу это сделать?
Вы можете присоединиться к двум таблицам вместе, чтобы получить результат в одном запросе. – 2010-12-02 23:34:40