簡體   English   中英

在數據表編輯器中訪問會話變量

[英]Accessing session variable in datatable editor

我想在應用程序生命周期中動態設置數據庫憑據。 由於我無法從調用我的編輯器自動加載器的類函數中執行此操作,因此我選擇將數據表編輯器的.config文件編輯為此

require_once('../functions/functions.php');

//get db credentials
$db_credentials = get_db_credentials($_SESSION['MY_DATA']['tenant_uuid']);

$sql_details = array(
            "type" => "Mysql",
            "user" => $db_credentials['datastore_db_username'],
            "pass" => $db_credentials['datastore_db_password'],
            "db"   => $db_credentials['datastore_db_name'],
            "host" => $db_credentials['datastore_db_host'],
            "dsn"  => "", 
            "port" => "",
        );

但是按我的日志看來,我無法訪問會話變量

$_SESSION['MY_DATA']['tenant_uuid']

我想念什么?

我終於找到了解決方法。 我需要做的就是在函數文件中包含DataTables \\ Database命名空間,然后繼續創建新的數據庫實例。 在函數中更改全局變量非常棘手。

無需麻煩編輯config.php文件。

最終解決方案:

   use
       DataTables\Database,
       DataTables\Editor,
       DataTables\Editor\Field,
       DataTables\Editor\Format,
       DataTables\Editor\Mjoin,
       DataTables\Editor\Options,
       DataTables\Editor\Upload,
       DataTables\Editor\Validate;

在功能上

$db_credentials = get_db_credentials($_SESSION['MY_DATA']['tenant_uuid']);

$sql_details = array(
    "type" => "Mysql",
    "user" => $db_credentials['datastore_db_username'],
    "pass" => $db_credentials['datastore_db_password'],
    "db"   => $db_credentials['datastore_db_name'],
    "host" => $db_credentials['datastore_db_host'],
    "dsn"  => "", 
    "port" => "",
);

$db_details = new Database( $sql_details );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM