2011-12-07 18 views
2

1つのクエリで複数の行を選択できます。このようなことができるかどうか疑問に思っていましたか?定義によりアクティブなレコード:dbオブジェクトの操作

$teamsQuery = $this->db; 

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

$teamsQuery->get('team'); 

$teams = $teamsQuery->result(); 

print_r($teams); 

答えて

1

ActiveRecordは、オブジェクト内のデータベース内の単一の行をラップし、それをビジネスと永続ロジックを付加します。 1つのクエリで複数の行をフェッチする場合は、TableDataGatewayをご覧ください。

TableDateGatewayには、IDの配列全体を渡してSELECT … WHERE … INクエリで取得するメソッドfindTeamsByIdsがあります。

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; 
} 
+0

whileループのためというものです機能のこのタイプを試すことができますか?行を連想配列として取り出し、その行を$ ret [$ index]に代入しますが、$ indexは常に$ retに最後に返された行のみが含まれるためです。 – Gordon

関連する問題