Kohana 3.x: SQL-запрос для сущностей и всех их членов - PullRequest
0 голосов
/ 02 декабря 2010

Я использую 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". Но как я могу это сделать?

1 Ответ

0 голосов
/ 03 декабря 2010

Можете ли вы попробовать это и посмотреть, даст ли он желаемый результат?

SELECT * FROM myEntity
join member on member.foreignKey = myEntity.foreignKey
WHERE myEntity.foreignKey = {$myForeignKey};
...