我正在使用Laravel 4来构建一个使用大量mysql数据库的站点,其中每个数据库都有多个表。数据库的结构和组织不在我的掌控之中。
我需要能够在运行时从另一个数据库中的一个数据库复制一个表(源数据库和目标数据库(并且源数据库中的特定表依赖于用户做出的选择)。
使用mysql很容易复制表:
CREATE TABLE database2.new_table LIKE database1.original_table;
INSERT INTO database2.new_table SELECT * FROM database1.original_table;
但我无法弄清楚如何使用Laravel。
我可以通过创建自己的连接(' mysql1'以及' mysql2')轻松访问每个数据库但我无法弄清楚如何构建语句以使用它们。以下不起作用
$success = DB::connection('mysql2')->statement('CREATE TABLE new_table LIKE database1.original_table);
因为我试图直接访问database1而不使用' mysql1'连接,并且Laravel生成错误,指出database1.original_table不存在。
我觉得解决方案应该是显而易见的,但是没有足够的经验与Laravel解决这个问题。任何指导都将不胜感激。