Kohana 3.x:实体及其所有成员的SQL查询

Kohana 3.x:实体及其所有成员的SQL查询,sql,kohana-3,member,Sql,Kohana 3,Member,我使用Kohana3.x。我有一个从MySQL数据库检索对象的简单查询: $query = DB::query(Database::SELECT, "SELECT * FROM myEntity WHERE foreignKey = {$myForeignKey};"); $result = $query->execute($this->database); $resultArray = $result->as_array(); 它按预期工作。My$resultArray包含

我使用Kohana3.x。我有一个从MySQL数据库检索对象的简单查询:

$query = DB::query(Database::SELECT, "SELECT * FROM myEntity WHERE foreignKey = {$myForeignKey};");
$result = $query->execute($this->database);
$resultArray = $result->as_array();
它按预期工作。My$resultArray包含的对象数量与实体匹配查询的对象数量相同。$resultArray中的每个对象都是一个字典,包含作为kex值对的属性

但现在我想得到每个“myEntity”的所有成员属性!现在我正在使用php for循环,如下所示:

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..
  }

我想对每个“myEntity”对象执行另一个SQL查询是愚蠢的,我更希望执行一个查询来获取所有“myEntity”以及每个“myEntity”的所有成员。但是我该怎么做呢?

你能试试这个,看看它是否能产生你想要的结果吗

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

您可以将两个表连接在一起,以便在一个查询中获得结果。您可能希望将*替换为两个表中您希望在结果中显示的特定列的列表。