关于如何在Laravel Artisan中使用自定义数据库链接


需求分析

打算用Laravel重写公司的帝国CMS,设计到一个栏目迁移的问题:将老站的栏目通过命令直接导入到新站数据库。所以需要链接老站数据库进行查询,需要链接新站数据库进行写入。

最后实现的方式

    // 获取老旧class,并返回树形结构
    protected function dealClassResult()
    {
        $connector = new Connector();
        $conn = $connector->createConnection("mysql:dbname={$this -> conn_config['database']};host={$this -> conn_config['host']};port={$this -> conn_config['port']};charset=UTF8", ['username' => $this -> conn_config['username'], 'password' => $this -> conn_config['password']], $connector->getDefaultOptions());
        $result = $conn -> query('select * from ' . $this -> conn_config['tbname'])->fetchAll();
        array_walk($result, function ($v) use (& $class_data) {
            $class_data[$v['classid']] = $v;
        });
        return $this->getClassTree($class_data, 0, 'bclassid', 'classid');
    }

但是,感觉很不好,有更优雅的实现方式吗?


点赞 取消点赞 收藏 取消收藏

<< 上一篇: laravel-admin怎么设置登陆过后的默认显示页

>> 下一篇: laravel/passport认证的二个问题