为了账号安全,请及时绑定邮箱和手机立即绑定

从PHP客户端库访问数组以进行精确在线

从PHP客户端库访问数组以进行精确在线

PHP
蓝山帝景 2021-04-26 21:31:51
为了商店订购某些信息放在客户从WooCommerce REST API,以通过精确的在线仪表盘REST API。我已经将PHP Client库用于Exact Online。尽管存在问题-将数据存储到Exact Online之后,无法访问数组中的特定字段。具体来说,当使用/api/v1/{division}/bulk/CRM/Accounts? $filter=ID eq Email eq'nishanth@gmail.com'&$select=ID,Email或者$url = "https://start.exactonline.de/api/v1/" + mandant.number + "/crm/Accounts?$filter=Email eq '" + orderitem.email + "'&$select=ID,Code";在这里,您将获得以下代码$customer = [        'address'       => 'No.22/N, 91 Cross, XYZ Street, ABC Road',        'address2'      => 'DEF',        'city'          => 'GHI',        'customerid'    => '999',        'country'       => 'DE',        'name'          => 'Nishanth',        'zipcode'       => '123456'];// Create a new account$account->AddressLine1 = $customer['address'];$account->AddressLine2 = $customer['address2'];$account->City = $customer['city'];$account->Code = $customer['customerid'];$account->Country = $customer['country'];$account->IsSales = 'true';$account->Name = $customer['name'];$account->Postcode = $customer['zipcode'];$account->Email = 'nishanth@gmail.com';$account->Status = 'C';$account->save();这是使用电子邮件ID过滤后获得的结果尽管使用以下内置函数进行了调用:$Accounts->filter("Email eq 'nishanth@gmail.com'")[0]->findWithSelect('ID');$checkAccount = $Accounts->filter("Email eq 'nishanth@gmail.com'");$checkAccount[0]->find('ID');$checkAccount[0]->findWithSelect('Code'); 上面内置的库导致[attributes:protected] => Array ( )我应该如何从数组访问特定属性?同样,CurrentDivision通过诸如$getCurrentDivision->findWithSelect('CurrentDivision');或的调用也可以轻松地从库中检索。$getDivision->CurrentDivision;检索数组后,为什么同一个函数不能正常工作?
查看完整描述

2 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

您可以使用闭包绑定方法访问对象的私有或受保护的属性。这是一个静态函数示例。


class Helper {


    /**

    * Helper method to access private

    * or protected properties of an object

    * using the closure bind method

    */

    public static function accessPrivate($object, $property) {

        $bind = Closure::bind(

            function($prop) {

                return $this->$prop;

            },

            $object,

            $object

        );

        return $bind($property);

    }

}

用途:


$code = Helper::accessPrivate($checkAccount, "Code");


查看完整回答
反对 回复 2021-05-07
?
Cats萌萌

TA贡献1805条经验 获得超9个赞

为了从数组访问受保护的属性,您将在下面的代码片段中找到


$checkAccount = $Accounts->filter("Email eq 'nishanth@gmail.com'");

$getAccountId = $checkAccount[0]->ID;

$getAccountCode = $checkAccount[0]->Code;

由于我尝试了findWithSelect()和find():


$Accounts->filter("Email eq 'nishanth@gmail.com'")[0]->findWithSelect('ID');

但是没有产生任何值导致空白值


查看完整回答
反对 回复 2021-05-07
  • 2 回答
  • 0 关注
  • 154 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信