活动记录:使用db对象

时间:2011-12-07 13:52:19

标签: php database object

我希望能够通过一个查询选择多行。我想知道你是否可以做这样的事情?

$teamsQuery = $this->db;

foreach( $teamids as $teamid )
$teamsQuery->where('teamid', $teamid);

$teamsQuery->get('team');

$teams = $teamsQuery->result();

print_r($teams);

2 个答案:

答案 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;
}