构建自定义Laravel数据库适配器

时间:2015-08-14 17:18:55

标签: php sql-server laravel-5.1

我正在Linux服务器上使用Laravel 5.1构建项目。 有两个数据库,一个MySQL(这里没问题)和MSSQL(问题在这里)。 关键是,经过长时间的研究,我终于使用mssql函数(mssql_query,mssql_fetch_object等)获取数据。 我的问题涉及如何使用Laravel架构内的设计模式构建适配器,最后构建驱动程序。 有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:2)

Laravel确实支持MS-SQL开箱即用。没有必要编写适配器。只需在config / database.php中配置'sqlsrv'连接,然后你就可以选择使用它了:

1 - 直接通过DB Facade:

$collection = DB::connection('sqlsrv')->select(...);
$collection = DB::connection('mysql')->select(...);

2 - 设置模型的连接属性:

class Foo extends Model {

    protected $connection = 'sqlsrv';

    ...

}

3 - 在运行时更改模型的连接:

$foo = new Foo;

$foo->setConnection('mysql');

$foo->bar = 'baz';

$foo->save();

有关详细信息,请参阅Laravel's Database Docs

但是,如果由于某种原因仍然需要编写适配器,正确的方法是编写Service Provider。看一下MongoDB Connector的实现作为一个很好的参考。另外,我强烈建议您阅读Laravel文档中的整个“架构基础”部分,它们真的很有帮助!

相关问题