Kotchasan framework สามารถเชื่อมต่อ database มากกว่า 1 database

ต้องการนำข้อมูลในฐานข้อมูลที่มีอยู่แล้วมาแสดง โดยแยกฐานข้อมูลผู้ใช้งาน เป็นคนละฐานข้อมูล
สามารถทำได้ไหมครับ
03 มี.ค. 2564 2 776

ได้ครับ อย่างแรกเลยต้องทำการตั้งค่าก่อน โดยดูจากไฟล์ settings/database.php จะเห็น section mysql อยู่ ซึ่งค่าเริ่มต้นของ Model ของ Kotchasan จะเชื่อมต่อกับฐานข้อมูลตามค่าต่างๆที่อยู่ใน section นี้
/* settings/database.php */

return array(
'mysql' => array(
'dbdriver' => 'mysql',
'username' => 'root',
'password' => '',
'dbname' => 'enrollment',
'prefix' => 'reg',
),
'tables' => array(

หากต้องการเชื่อมต่อกับฐานข้อมูลอื่น ให้เพิ่ม section ใหม่ สมมุติชื่อ mysql2
/* settings/database.php */

return array(
'mysql' => array(
'dbdriver' => 'mysql',
'username' => 'root',
'password' => '',
'dbname' => 'enrollment',
'prefix' => 'reg',
),
'mysql2' => array(
'dbdriver' => 'mysql',
'username' => 'root',
'password' => '',
'dbname' => 'other_db',
'prefix' => 'new',
),
'tables' => array(

จากนั้นเอาค่า mysql2 ไปสร้าง Model ใหม่ ตามโค้ดด้านล่าง
<?php
/**
* @filesource Gcms/Model.php
*
* @copyright 2016 Goragod.com
* @license http://www.kotchasan.com/license/
*
* @see http://www.kotchasan.com/
*/


namespace Gcms;

/**
* Model base class.
*
* @author Goragod Wiriya <admin@goragod.com>
*
* @since 1.0
*/

class Model extends \Kotchasan\Model
{
/**
* ชื่อของการเชื่อมต่อ ใช้สำหรับโหลด config จาก settings/database.php.
*
* @var string
*/

protected $conn = 'mysql2';
}

หากต้องการเชื่อมต่อกับฐานข้อมูล mysql2 ก็ให้สืบทอดมาจาก Model นี้แทน (สืบทอดจาก Model เดิมเราจะใช้ \Kotchasan\Model) หรือจะใช้วิธีกำหนด $conn ลงใน Model ที่ต้องการจะเชื่อมต่อเอาก็ได้นะครับ
#1

เยี่ยมมากๆ ครับ จะลองทำดู
ขอบคุณ​อาจารย์​มากเลยครับ
#2
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg, png ขนาดไฟล์ไม่เกิน 2M