Odoo/PHP: 如何在 API 调用中设置 "order by"?
Odoo/PHP: how can I set "order by" in API call?
使用 ripcord XML-RPC 客户端并进行如下调用,如何告诉它按哪个字段对记录进行排序?
$models = ripcord::client($cfg['url'] . '/xmlrpc/2/object');
$srch = $models->execute_kw($cfg['db'], $cfg['uid'], $cfg['pw'], 'account.move.line', 'search_read', array(array(array('account_id', '=', 174), array('date', '>=', '2016-01-01'))));
使用 Odoo 9 社区版。
def search_read(self, cr, uid, domain=None, fields=None, offset=0, limit=None, order=None, context=None):
我对 PHP 不是很熟悉,但是这样的东西应该有用:
$models = ripcord::client($cfg['url'] . '/xmlrpc/2/object');
$srch = $models->execute_kw(
$cfg['db'],
$cfg['uid'],
$cfg['pw'],
'account.move.line',
'search_read',
array(
array(
array('account_id', '=', 174),
array('date', '>=', '2016-01-01')
),
NULL,
NULL,
NULL,
'date desc, id',
)
);
我们为 fields
、offset
和 limit
传递 NULL
以使用默认值,而 order
是以逗号分隔的字段列表排序。在上面的示例中,它将 return 移动行按 date
降序排序,然后按 id
(如果某些移动行具有相同的日期)按升序排序。
对于那些从搜索引擎到达这里的人来说,python 中的相同语法将如下所示:
pickings = models.execute_kw(db, uid, pwd, 'stock.picking', 'search_read',
[[['state', '=', 'done'], ['date_done', '>', '2019-01-01']]],
{'fields':['name'], 'offset': 0, 'limit': 5, 'order': 'date_done desc'})
使用 ripcord XML-RPC 客户端并进行如下调用,如何告诉它按哪个字段对记录进行排序?
$models = ripcord::client($cfg['url'] . '/xmlrpc/2/object');
$srch = $models->execute_kw($cfg['db'], $cfg['uid'], $cfg['pw'], 'account.move.line', 'search_read', array(array(array('account_id', '=', 174), array('date', '>=', '2016-01-01'))));
使用 Odoo 9 社区版。
def search_read(self, cr, uid, domain=None, fields=None, offset=0, limit=None, order=None, context=None):
我对 PHP 不是很熟悉,但是这样的东西应该有用:
$models = ripcord::client($cfg['url'] . '/xmlrpc/2/object');
$srch = $models->execute_kw(
$cfg['db'],
$cfg['uid'],
$cfg['pw'],
'account.move.line',
'search_read',
array(
array(
array('account_id', '=', 174),
array('date', '>=', '2016-01-01')
),
NULL,
NULL,
NULL,
'date desc, id',
)
);
我们为 fields
、offset
和 limit
传递 NULL
以使用默认值,而 order
是以逗号分隔的字段列表排序。在上面的示例中,它将 return 移动行按 date
降序排序,然后按 id
(如果某些移动行具有相同的日期)按升序排序。
对于那些从搜索引擎到达这里的人来说,python 中的相同语法将如下所示:
pickings = models.execute_kw(db, uid, pwd, 'stock.picking', 'search_read',
[[['state', '=', 'done'], ['date_done', '>', '2019-01-01']]],
{'fields':['name'], 'offset': 0, 'limit': 5, 'order': 'date_done desc'})