我正在开发一个基于SAAS的站点,我必须将两个DBs中的两个表连接起来,比如说DB1中的table1和DB2中的table2。我必须使用cakephp中的join从表1和表2获取匹配记录,但它会抛出如下错误:
错误:SQLSTATE[42000]:语法错误或访问冲突:1142 SELECT命令拒绝用户'dbname'@'localhost'访问表'table_name'。
有谁能解释一下如何使用cakephp实现这一点吗。
class table1 extends AppModel{
public $useDbConfig = 'DB1';
}
Class table2 extends AppModel{
public $useDbConfig = 'DB2';
function desc(){
$this->Store->useDbConfig = 'default';
$rslted = $this->find('all',array(
'conditions' => array('Jewel.id' =>1),
'joins' => array(
array(
'alias' => 'Store',
'table' => 'stores',
'type' => 'INNER',
'conditions' => 'Store.id = Jewel.store_id'
)
)
));
return $rslted;
}
}
从控制器调用desc函数时,控制器不工作引发错误:
找不到基表或视图:1146表“site1.site1\u存储区”
不存在
但是在模型上使用has很多或属性会起作用,连接查询在控制器中不起作用
请按照以下步骤操作:
步骤1:为模型类创建两个名为Jewel.php和Store.php的模型
Content of Jewel.php
class Jewel extends AppModel{
public $useDbConfig = 'DB1';
}
Content of Store.php
Class Store extends AppModel{
public $useDbConfig = 'DB2';
}
步骤2:在商店模型中创建一个方法,如下所示
function getData(){
$this->bindModel(array(
'hasOne' => array(
'Jewel' => array(
'foreignKey' => false,
'conditions' => array('Store.id = Jewel.store_id')
)
)
));
$returnData = $this->find('all',array('conditions' => array('Jewel.id' =>1)));
}
希望这会有帮助!
问题内容: 我正在使用两个MySQL数据库。我想将DB1中的表与SQLAlchemy中DB2中的表连接起来。 我在sqlalchemy中创建数据访问层时正在使用automap_base,如下所示… 我的表类就像 我正在这样加入 我收到这样的错误: 我们在数据库db1中创建了表t1,在数据库db2中创建了表t2。 是否可以在sqlalchemy ORM中的两个数据库表之间进行联接?如何实现呢? 问题
假设我有两个数据帧,具有不同级别的信息,如下所示: 我想加入df1和df2,并将“值”信息传递给df2:一天中的每一小时都将获得“日”值。 预期产出:
我使用的是Sprind JPA、Spring 3.1.2(将来是3.2.3)、Hibernate 4.1 final。我是Sprind Data JPA的新手。我有两个表Release_date_type和Cache_media,它们的实体如下: releaseAirdate.java 我不知道如何映射实体。我尝试了很多事情,但没有运气。任何帮助都很感激。
我有两个表:p. test和q。在两个不同的数据库上测试-p和q。 这两个表都有不同的MYSQL连接,并且位于两个不同的服务器上。 我需要做一个自然连接,如下所示:http://www.microshell.com/database/sql/comparing-data-from-2-database-tables/2/ 我怎么可能做到呢?我还使用java PreparedStatement来实际
问题内容: 有简单的解决方案,可通过串联两个或java 。由于是经常使用的。是否有任何简单的方法来连接两个? 这是我的想法: 它可以工作,但实际上可以转换为,然后再次转换回。 问题答案: 您可以使用协力让这件事没有任何自动装箱拆箱或完成。这是它的外观。 请注意,返回,然后将其与另一个串联,然后再收集到数组中。 这是输出。 [1、34、3、1、5]
问题内容: 我有两个表,如下所示: 我想列出参加活动17的所有人(包括学生和教师)的名字。无论如何,我可以获得以下结果: 无需创建新表(仅使用表达式或派生关系的嵌套)? 在actid上加入JOIN会得到如下结果: 我想我需要一种串联形式? 问题答案: 您可能(或可能不需要)对ID不唯一的内容进行处理,例如