API, который я использую, находится здесь:
http://www.redmine.org/projects/redmine/wiki/Rest_api_with_php
Код: (если ссылка не доступна)
<?php
require_once ('ActiveResource.php');
class Issue extends ActiveResource {
var $site = 'http://username:[email protected]:3000/';
var $request_format = 'xml'; // REQUIRED!
}
// create a new issue
$issue = new Issue (array ('subject' => 'XML REST API', 'project_id' => '1'));
$issue->save ();
echo $issue->id;
// find issues
$issues = $issue->find ('all');
for ($i=0; $i < count($issues); $i++) {
echo $issues[$i]->subject;
}
// find and update an issue
$issue->find (1);
echo $issue->subject;
$issue->set ('subject', 'This is the new subject')->save ();
// update status
$issue->set ('status_id', 2)->save();
// delete an issue
$issue->find (1);
$issue->destroy ();
?>
Я пытаюсь использовать этот API для доступа к базе данных Redmine и получить некоторые проблемы, которые еще никому не назначены.
Вот пример пользовательского метода (как видно из использования ActiveResource.php).
// custom method
$songs = $song->get ('by_year', array ('year' => 1999));
Наконец, мой код:
require_once ('ActiveResource.php');class Issue extends ActiveResource {
var $site = 'root:12345@localhost/redmine';
var $request_format = 'xml'; // REQUIRED!
var $element_name = 'issue'
}
$issue = new Issue();
$issues = $issue->find('all'); //Works fine
print_r($issues);
Эта проблема:
Я хочу, чтобы получить только вопросы, которые assign_to_id имеет значение null, поэтому я попытался
$issues = $issue->find ("all", array('assigned_to_id'=>null)); //not working
$issues = $issue->find (false, array('assigned_to_id'=>null)); //not working
$issues = $issue->get ('by_assigned_to_id', array('assigned_to_id' => null)) //not working
Ничего из этого не работает, что не так или что мне не хватает?
Больше ссылки: http://www.redmine.org/projects/redmine/wiki/Rest_Issues
Это дикое предположение, но мне интересно, если бы вы могли передать значение *. Это то, что я вижу в URL, когда я делаю поиск назначенного никому.
$issues = $issue->find ("all", array('assigned_to_id'=>'*'));
Других решений пока нет …