Активные записи: Работа с объектом БД - PullRequest
2 голосов
/ 07 декабря 2011

Я хочу иметь возможность выбрать несколько строк одним запросом. Мне было интересно, если вы можете сделать что-то подобное?

$teamsQuery = $this->db;

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

$teamsQuery->get('team');

$teams = $teamsQuery->result();

print_r($teams);

Ответы [ 2 ]

1 голос
/ 07 декабря 2011

По определению ActiveRecord оборачивает одну строку в базе данных в объекте и присоединяет к ней бизнес-логику и логику постоянства. Если вы хотите получить несколько строк одним запросом, взгляните на TableDataGateway .

В TableDateGateway у вас будет метод findTeamsByIds, который вы передадите весь массив идентификаторов, а затем получите их в запросе SELECT … WHERE … IN.

0 голосов
/ 07 декабря 2011

вы можете попробовать этот тип функции

 /**
 * 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...