我希望能够通过一个查询选择多行。我想知道你是否可以做这样的事情?
$teamsQuery = $this->db;
foreach( $teamids as $teamid )
$teamsQuery->where('teamid', $teamid);
$teamsQuery->get('team');
$teams = $teamsQuery->result();
print_r($teams);
答案 0 :(得分:1)
根据定义,ActiveRecord将对象中的单个行包装在一个对象中,并将业务和持久性逻辑附加到它。如果您想通过一个查询获取多行,请查看TableDataGateway。
在TableDateGateway中,您将拥有一个方法findTeamsByIds
,您将传递整个ID数组,然后在SELECT … WHERE … IN
查询中获取这些ID。
答案 1 :(得分:0)
你可以尝试这种类型的功能
/**
* get all data from the table
*
* @param string $sql - mySQL query string
*
* @return data as associative array
* */
function getAll($sql) {
$res = mysql_query($sql);
if (!$res) {
die(mysql_error());
}
// Convert to array
$ret = array();
while ($row = mysql_fetch_assoc($res)) {
// Add to array
$index = count($ret);
$ret[$index] = $row;
}
return $ret;
}