Je veux obtenir des données de partenaire qui ont des informations id
, name
, et salesperson_id
où le 'salesperson_id' est de type many2one (contient l'identifiant et le nom). Voici mon code:Comment obtenir la valeur de type many2one en utilisant php
<?php
// Login information
$url = 'localhost';
$url_auth = $url . '/xmlrp/common';
$url_exec = $url . '/xmlrpc/object';
$db = 'testing';
$username = 'odoo';
$password = 'odoo';
// Ripcord can be cloned from https://github.com/poef/ripcord
require_once('ripcord/ripcord.php');
// Login
$common = ripcord::client("$url/xmlrpc/common");
//$common = ripcord::client($url_auth);
$uid = $common->authenticate($db, $username, $password, array());
//print("<p>Your current user id is '${uid}'</p>");
$models = ripcord::client($url_exec);
$customer = $models->execute_kw(
$db,
$uid,
$password,
'res.partner',
'search_read',
array(// Search domain
array(
array('is_company', '=', true), // Query condition
array('customer', '=', true)) // Query condition
),
array('fields'=> array('name', 'salesperson_id'))
);
print("<p><strong>Found customers:</strong><br/>");
foreach ($customer as $customers){
print("${customers[id]}
${customers[name]}
{$customers[salesperson_id][0]}
<br/>");
}
print("</p>");
?>
Il montrera:
Found customers:
1234 CHLOE 12
1235 DRY MART 13
1236 SEEYOU 14
1237 ED. COMP 15
!! SOLVED
Votre '$ {clients [salesperson_id]}' est retourne un tableau quand il devrait renvoyer un seul entier. À quoi ressemble 'customers [salesperson_id]'? Je suppose que vous pouvez accéder à l'ID avec $ {customers [salesperson_id] [1]} '. –
@ObsidianAge, Quand je le change en '$ {clients [salesperson_id] [1]}', la page obtient l'erreur '" Cette page ne fonctionne pas localhost est actuellement incapable de traiter cette demande HTTP ERROR 500 " ' – 0987654poiu
Il n'y a pas de champ nommé salesperson_id pour le modèle res_partner. Mais vous pouvez l'obtenir à partir de sale_order comme le champ user_id qui shuld être salesperson_id –