Whmcs客户自定义字段值

时间:2019-03-09 22:29:17

标签: php xml api whmcs

在WHMCS论坛没有成功的完整帮助后的1周内,请在这里试试运气,并且仅支持参考文档和论坛。

我希望从“客户自定义”字段(我知道该字段名称)中获得价值

每个文档和论坛帖子在理论上均应如此,但事实并非如此,没有任何回报。有想法吗?

created

1 个答案:

答案 0 :(得分:0)

这真的很容易。我将向您展示执行此操作的不同方法,具体取决于您要检索的内容和手头的信息。当然,我知道您知道的是fieldname,尽管我建议您进入WHMCS安装的tblcustomfields表,并为该自定义字段检索id值。现在让我们看一下代码:

首先:包括以下代码:

require("init.php");
use WHMCS\Database\Capsule;

第二:声明已知变量:

我假设您已经具有所知道的值。所以我将在这里使用我的伪值:

$clientID = 12;
$customFieldID = 1;
$customFieldName = 'Where did you hear about us?';

第三:添加代码以检索数据

我将使用四个代码。选择您需要的最佳套件。

A:获取1个客户端的“自定义字段”值。您有客户ID和自定义字段名称

$customFieldValue1 =  Capsule::table('tblcustomfields')
                                ->join('tblcustomfieldsvalues','tblcustomfieldsvalues.fieldid','=','tblcustomfields.id')
                                ->where('tblcustomfieldsvalues.relid','=',$clientID)
                                ->where('tblcustomfields.fieldname','=',$customFieldName)
                                ->value('tblcustomfieldsvalues.value');

                                //Use the retrieved vaue e.g echo
                                echo $customFieldValue1."<br/>";

B:获取1个客户端的“自定义字段”值。您有客户ID和自定义字段ID

$customFieldValue2 = Capsule::table('tblcustomfieldsvalues')
                                ->where('relid',$clientID)
                                ->where('fieldid',$customFieldID)
                                ->value('value');

                                //Use the retrieved vaue e.g echo
                                echo $customFieldValue2."<br/>";

C:获取所有客户端的“自定义字段”值。您有客户ID和自定义字段名称

$customFieldValues1 =  Capsule::table('tblcustomfields')
                                ->join('tblcustomfieldsvalues','tblcustomfieldsvalues.fieldid','=','tblcustomfields.id')
                                ->select('tblcustomfieldsvalues.value as value','tblcustomfieldsvalues.relid as client')
                                ->where('tblcustomfields.fieldname','=',$customFieldName)
                                ->get();

                                //use retrieved values
                                foreach($customFieldValues1 as $customField){
                                    $clientId = $customField->client;
                                    $customFieldValue = $customField->value;

                                    echo $clientId." : ".$customFieldValue."<br/>";
                                }

C:获取所有客户端的“自定义字段”值。您有客户ID和自定义字段ID

$customFieldValues2 =  Capsule::table('tblcustomfieldsvalues')
                                ->select('relid as client','value')
                                ->where('fieldid',$customFieldID)
                                ->get();

                                //use retrieved values
                                foreach($customFieldValues2 as $customField){
                                    $clientId = $customField->client;
                                    $customFieldValue = $customField->value;

                                    echo $clientId." : ".$customFieldValue."<br/>";
                                }

如果这能回答您的问题,请告诉我。

有关如何使用laravel编写查询的更多信息,WHMCS当前将其用于与数据库交互,请访问https://laravel.com/docs/5.2/queries