ActiveResource.php を使って、Redmine のDBにアクセスし、projectのレコード件数を取得する

Redmine では、デフォルトで25件づつしか
データを取得しないため
全てのデータを取得するには、
1.limits を変えるか、
2.offset を変えてアクセスを続けるしかない。
limits の最大値は100のため、2の方法しかない。

そのためには、レコード件数の取得が必要となる。
ActiveResource.php 内のRedmine からの受取内容をxmlに変換するところで
下記の1行を挿入する。

$xml = new SimpleXMLElement($res);

// 下記の1行を挿入
// $xml 内の total_count を取り出して、1件目のProject Object に設定
$xml->project[0]['total_count'] = $xml['total_count'];

ActiveResouce.php を使用した側は
下記のやり方でレコード件数を取得することができる。

// Project Object の1件目の_data要素(array)を取得
$prj0 = $project[0]->_data;
// _data要素(array)の['@attributes']['total_count'] の値を取得
$total_count = $prj0['@attributes']['total_count'];

 

コメントを残す

メールアドレスが公開されることはありません。