WHMCS 6.0废弃update_query等数据库操作函数

昨天发现WHMCS西数、景安虚拟主机模块手动续费后不更新时间,原本在写这两个模块时,在续费后会通过API取得主机到期时间,并更新WHMCS数据库。

查看官方文档才得知WHMCS 6.0已经废弃了以下数据库操作函数:

  • select_query()
  • update_query()
  • insert_query()
  • full_query()

新的版本中使用了Laravel 5.2框架的数据库组件,所以,对数据库的操作可以参考Laravel框架官方文档。

在WHMCS中,使用方法如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use Illuminate\Database\Capsule\Manager as Capsule;
foreach (Capsule::table('tblclients')->get() as $client) {
    echo $client->firstname . PHP_EOL;
}
try {
    $updatedUserCount = Capsule::table('tblclients')
        ->where('firstname', 'John')
        ->where('lastname', 'Deo')
        ->update(
            [
                'lastname' => 'Doe',
            ]
        );
 
    echo "Fixed {$updatedUserCount} misspelled last names.";
} catch (\Exception $e) {
    echo "I couldn't update client names. {$e->getMessage()}";
}

在我的模块中,主要是更新主机到期时间,代码如下:

1
2
3
4
5
6
7
8
9
Capsule::table('tblhosting')
    ->where('id', $params['serviceid'])
    ->where('username', $params['username'])
    ->update(
        [
            'nextduedate' => $nextduedate,
            'nextinvoicedate' => $nextduedate,
        ]
    );
原文链接:https://xiaohost.com/2345.html,转载请注明出处。
0