gpt4 book ai didi

php - Laravel 中是否可以将 MS-SQL 连接到 MySQL

转载 作者:行者123 更新时间:2023-11-29 11:21:20 25 4
gpt4 key购买 nike

如果这是一个愚蠢的问题,我深表歉意。这可能远远超出了标准实践,但我希望能够在 Laravel 5.2 中将 MS-SQL 数据库中的数据与 MySQL 数据库中的数据连接起来。

我不确定是否可以做类似的事情

\DB::connection('sqlsrv')->table('mstable')
->leftJoin(\DB::connection('mysql')->table('mysqltable'),
'mysqltable.shared_id',
'=',
'mstable.shared_id');

我的想法是,如果 Laravel 尽早将查询转换为 PHP 对象,它应该能够做到。否则,是否有后备方案可以同时使用两种数据库类型?

最佳答案

我很确定连接是不可能的。不过,您可以做的是使用不同数据库上的关系。根据您的情况,这可能是一个适用的解决方法。我目前正在使用这种方法来查询来自不同数据库的实体并将它们“分块”,以便我只在内存中保留几千个实体。它仍然是迭代所有实体的有效方法,因为我正在使用急切加载,因此 Laravel/Eloquent 只触发每个 block 的两个请求:一个用于获取主模型,第二个用于获取关系(默认情况下这是完成的)通过关系表上的 IN 语句(使用从主模型表获取的键)。

设置此功能的“简单”方法是填充 Eloquent 模型的 protected $connection 属性,如下所示:

class Foo extends Model{

protected $connection = "mysql";

public function bar(){
return $this->hasOne(Bar::class);
}
}

class Bar extends Model{

protected $connection = "ms-sql";
}

Foo::with("bar")->get();

关于php - Laravel 中是否可以将 MS-SQL 连接到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38857308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com