我使用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-pairs。
但是现在我想为每个“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..
}
我想对每个“myEntity”对象执行另一个SQL查询是愚蠢的,我宁愿做一个查询来获取所有“myEntities”以及每个“myEntities”的所有成员。但是我该怎么做呢?
答案 0 :(得分:0)
你可以尝试一下,看看它是否能产生你想要的效果吗?
SELECT * FROM myEntity
join member on member.foreignKey = myEntity.foreignKey
WHERE myEntity.foreignKey = {$myForeignKey};