Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

केकेपीएचपी 3 . में एकाधिक डेटाबेस से कनेक्ट करें

आपने एक ही केकफ़्पी एप्लिकेशन के भीतर एकाधिक डेटा स्रोत का उपयोग करने के लिए नीचे दिए गए चरणों का पालन किया है।

Config/app.php में एक से अधिक डेटाबेस स्रोत का उल्लेख करें

आपको कई डेटा स्रोत कॉन्फ़िगरेशन प्रबंधित करने होंगे, डिफ़ॉल्ट डेटा स्रोत में मुख्य डेटाबेस रखना होगा, और एक और डेटा स्रोत बनाना होगा जिसे हम दूसरे डेटा स्रोत के लिए इतिहास कह सकते हैं। जैसा कि नीचे बताया गया है

'Datasources' => [
    'default' => [
        'className' => 'Cake\Database\Connection',
        'driver' => 'Cake\Database\Driver\Mysql',
        'persistent' => false,
        'host' => '<host name>',
        'username' => '<database user>',
        'password' => '<database password>',
        'database' => '<database name>',
        'encoding' => 'utf8',
        'timezone' => 'UTC',
        'flags' => [],
        'cacheMetadata' => true,
        'log' => false,
        'quoteIdentifiers' => false,
        'url' => env('DATABASE_URL', null),
    ],
    'history' => [
        'className' => 'Cake\Database\Connection',
        'driver' => 'Cake\Database\Driver\Mysql',
        'persistent' => false,
        'host' => '<host name>',
        'username' => '<database user>',
        'password' => '<database password>',
        'database' => '<database name>',
        'encoding' => 'utf8',
        'timezone' => 'UTC',
        'flags' => [],
        'cacheMetadata' => true,
        'log' => false,
        'quoteIdentifiers' => false,
        'url' => env('DATABASE_URL', null),
    ]
]

तालिका वर्ग में डेटा स्रोत निर्दिष्ट करें

Src/Model/Table/<AnyOtherSource>Table.php . में , नीचे विधि जोड़ें, जहां आप इतिहास डेटा स्रोत का उपयोग करना चाहते हैं। जहां आपको डिफ़ॉल्ट डेटा स्रोत का उपयोग करने की आवश्यकता है, वहां नीचे विधि जोड़ने की आवश्यकता नहीं है, डिफ़ॉल्ट डेटा स्रोत के लिए केकेपीएचपी इसका ख्याल रखेगा।

public static function defaultConnectionName() {
    return 'history';
}

केकेपीएचपी 3 में शामिल होना और मॉडल एसोसिएशन

नीचे दिए गए कोड को Src/Model/Table/<All>Table.php . में जोड़ें

class LogsTable extends Table {

    public function initialize(array $config) {
        parent::initialize($config);

        $this->table($this->connection()->config()['database'] . "." . $this->table()); // this is very important for joining and associations.

        // your other code for initilize method
    }

    public static function defaultConnectionName() {
        return 'history';
    }

    // other methods and your code should be here

}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ईमेल के माध्यम से सत्यापन लिंक

  2. डिस्टेंस हैसमैनीथ्रू

  3. जेरा डीबी से स्प्रिंट प्रारंभ और समाप्ति तिथियां निकालने का सबसे आसान तरीका क्या है?

  4. उद्देश्य-सी और MySQL

  5. मेरे मामले में परिणाम को फ़िल्टर करने के लिए एक कस्टम CrudRepository विधि (@Query) कैसे लिखें?