如何从cakephp

时间:2015-11-02 04:50:38

标签: php cakephp

在cakephp中我登录到mysql数据库没问题。我有一个问题,一旦我登录,我需要在另一个cakephp网站上的同一台服务器上访问另一个数据库(按钮点击)。我不希望用户再次登录其他网站。我找不到解决这个问题的信息。如何自动登录另一个cakephp网站? 为了更清楚我想要的是我希望用户登录然后单击一个按钮并使用另一个带有不同数据库的cakephp网站而无需登录。 Setdatasource似乎停留在相同的cakephp网站和切换数据库

以下代码工作正常(在我的电脑上)但我需要自动登录网站而无需再次登录

echo $this->Html->link( 'link!', 'http://127.0.0.1/maths/numeracyStudents/dashboardst'); 

public $mathdb = array(
    'datasource' => 'Database/Mysql',
    'persistent' => false,
    'host' => '127.0.0.1',
    'login' => 'root',
    'password' => '',
    'database' => 'maths',
    'prefix' => '',
    //'encoding' => 'utf8',
);

//called this function from the controller and nothing happens?
public function changedb() {

    $this->NumeracyStudents->setDataSource('mathdb');
}

1 个答案:

答案 0 :(得分:0)

在应用程序的app.php中,您将创建另一个数据库配置,如默认值并标记它。然后,您将使用该配置创建连接。

编辑:我假设您正在使用CakePHP 2.X

database.php

class DATABASE_CONFIG {
   public $default = array(
    'datasource'  => 'Database/Mysql',
    'persistent'  => false,
    'host'        => 'localhost',
    'login'       => 'cakephpuser',
    'password'    => 'c4k3roxx!',
    'database'    => 'my_cakephp_project',
    'prefix'      => ''
    );

   public $otherDb = array(
      'datasource'  => 'Database/Mysql',
      'persistent'  => false,
      'host'        => 'localhost',
      'login'       => 'cakephpuser',
      'password'    => 'c4k3roxx!',
      'database'    => 'my_cakephp_project2',
      'prefix'      => ''**strong text**
   );
}

ArticlesController:

//inside a function(action) you would call this to set to the other datasource
$this->Articles->setDataSource('otherDb');