Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 插入类别为+的候选人;扩音器_Php_Api_Rest_Categories - Fatal编程技术网

Php 插入类别为+的候选人;扩音器

Php 插入类别为+的候选人;扩音器,php,api,rest,categories,Php,Api,Rest,Categories,我正试图用PHP通过REST API在Bullhorn中保存和更新一个候选者。 我已从BullHorn加载了一个候选人,我的类别如下所示: ["categories"]=> object(stdClass)#632 (2) { ["total"]=> int(2) ["data"]=> array(0) { } } ["category"]=> object(stdClass)#654 (1) { ["id"]=> int(1123135

我正试图用PHP通过REST API在Bullhorn中保存和更新一个候选者。
我已从BullHorn加载了一个候选人,我的类别如下所示:

["categories"]=>
object(stdClass)#632 (2) {
  ["total"]=>
  int(2)
  ["data"]=>
  array(0) {
  }
}
["category"]=>
object(stdClass)#654 (1) {
  ["id"]=>
  int(1123135)
}
我可以看到我的id等于
1123135
。但我怎么知道这些是哪一类呢?我在BullHorn中选择了两个类别,我的id现在是1123135。我有像“网络营销专家,数据科学,…”这样的分类


但是如何根据用户的选择更新这些类别?

Bullhorn中的类别与大多数其他实体类似。我就是这样做的

function BHGetCategoryData($entity_type, $entity_id) {

    $url = $_SESSION['restUrl'].'entity/'.$entity_type.'/'.$entity_id.'?BhRestToken='.$_SESSION['BhRestToken'].'&fields=id,name';

    $options = array( 
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HEADER         => false,    
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_AUTOREFERER    => true,    
        CURLOPT_CONNECTTIMEOUT => 120, 
        CURLOPT_TIMEOUT        => 120,      
        ); 

    $ch  = curl_init( $url ); 
    curl_setopt_array( $ch, $options ); 
    $data = curl_exec( $ch ); 

    $obj = json_decode($data, true);

    curl_close( $ch ); 

    return $obj;

}

function BHQueryCategory() {

    $url = $_SESSION["restUrl"]."/query/Category?where=enabled=true%20AND%20id>1&fields=id,name&orderBy=id&count=100&BhRestToken=".$_SESSION["BhRestToken"];


    $options = array( 
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HEADER         => false,    
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_AUTOREFERER    => true,    
        CURLOPT_CONNECTTIMEOUT => 120, 
        CURLOPT_TIMEOUT        => 120,      
        ); 

    $ch  = curl_init( $url ); 
    curl_setopt_array( $ch, $options ); 
    $data = curl_exec( $ch ); 

    $obj = json_decode($data, true);

    return $obj;


}

// This dumps a list of categories
var_dump(BHQueryCategory());

$entity_id= 1123135;
$entity_type='Category';

// This will query one category for the name and id
var_dump(BHGetCategoryData($entity_type, $entity_id));
当然,这假设您已经处理了RESTURL和rest令牌以及所有这些内容

由于动态提取所有类别的时间延迟,我可能会建议您下载完整列表并在客户端填充它,而不是每次要填充下拉列表时都调用查询

还有一点让人困惑。有一个“类别”可以作为单个值写入候选记录。还有“类别”,这是一种“对多”关系,不能与主实体一起书写,必须单独调用。下面是一个可以实现这一点的函数

function BHCreateCandidateToMany($candid,$codegroup,$codestring) {

$url = $_SESSION['restUrl'].'entity/Candidate/'.$candid.'/'.$codegroup.'/'.$codestring.'?BhRestToken='.$_SESSION['BhRestToken'];

echo $url;


$options = array( 
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_HTTPHEADER => Array("Content-Type: application/json"),
    CURLOPT_CUSTOMREQUEST => "PUT", 
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_AUTOREFERER    => true,    
    CURLOPT_CONNECTTIMEOUT => 120, 
    CURLOPT_TIMEOUT        => 120,      
  ); 

$ch  = curl_init( $url ); 
curl_setopt_array( $ch, $options ); 
$data = curl_exec( $ch ); 

$obj = json_decode($data, true);

curl_close( $ch ); 

return $obj;
}
文件可在此处找到-


(请根据需要整理代码-只需一个粗略的草稿即可)

$codegroup、$codestring变量的值应该是多少?$codegroup='specialties';或$codegroup='类别';或$codegroup='category';很难说,因为每个系统都是定制的,这也让我们感到困惑,“parentCategoryId值大于零的类别是一个特产。”$codestring='1123135';同样,这将是特定于系统的