Я использую Kohana 3.x. У меня есть простой запрос для извлечения объектов из моей базы данных MySQL:
$query = DB::query(Database::SELECT, "SELECT * FROM myEntity WHERE foreignKey = {$myForeignKey};");
$result = $query->execute($this->database);
$resultArray = $result->as_array();
Работает как положено. Мой $ resultArray содержит столько объектов, сколько объектов, соответствующих запросу. Каждый объект в $ resultArray представляет собой словарь, содержащий свойства в виде пар kex-value.
Но теперь я хотел бы получить для каждого "myEntity" все свои атрибуты участника! Прямо сейчас я использую php-for-loop примерно так:
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". Но как я могу это сделать?