如何在yii php框架中创建多个数据库关系条件?
我有两个数据库,电视节目表和副节目记录。 在vp_记录表设置关系中:如何在yii php框架中创建多个数据库关系条件?,php,mysql,yii,Php,Mysql,Yii,我有两个数据库,电视节目表和副节目记录。 在vp_记录表设置关系中: 'tv_schedule' => array(self::BELONGS_TO, 'Schedule', 'sch_id'), 当我尝试获取相关记录时,它对我很有用: Record::model()->findByPk(2)->tv_schedule 但是,当我使用标准形成数据提供程序时,我有一个错误: SQLSTATE[42S02]:找不到基表或视图:1146表“video\u proc
'tv_schedule' => array(self::BELONGS_TO, 'Schedule', 'sch_id'),
当我尝试获取相关记录时,它对我很有用:
Record::model()->findByPk(2)->tv_schedule
但是,当我使用标准形成数据提供程序时,我有一个错误:
SQLSTATE[42S02]:找不到基表或视图:1146表“video\u processing.tv\u schedule”不存在。执行的SQL语句是:从video\u processing
vp\u record
t
左外连接tv\u schedule
tv\u scheduleON(t
sch\u id
=tv\u schedule
),其中(t.tc\u id=22)
但在记录模型和调度配置方法CDbGetConnection模型中:
public function getDbConnection()
{
$db = Yii::app()->getComponent('video_processing');
if ($db instanceof CDbConnection)
{
return $db;
}
else
throw new CDbException(Yii::t('yii', 'Active Record requires a "video_processing" CDbConnection application component.'));
}
附表:
public function getDbConnection()
{
$db=Yii::app()->getComponent('iptv_new');
if($db instanceof CDbConnection)
{
return $db;
}
else
throw new CDbException(Yii::t('yii','Active Record requires a "iptv_new" CDbConnection application component.'));
}
这里出了什么问题?这不受支持,因为Yii将尽可能尝试
JOIN
查询。您不能跨不同的数据库联接帐户。但在yii工作中查询两个或更多数据库<代码>视频处理vp\u录制
,iptv\u新建
时间表
。但我需要从CDbConnection类中获取数据库名称以进行直接sql查询…在api中也找不到这样的数据库名称。。。当我指定完整的tablename时,一切都在工作。。
public function getDbConnection()
{
$db=Yii::app()->getComponent('iptv_new');
if($db instanceof CDbConnection)
{
return $db;
}
else
throw new CDbException(Yii::t('yii','Active Record requires a "iptv_new" CDbConnection application component.'));
}