gpt4 book ai didi

php - 如何让 laravel DB 连接到 php 连接?

转载 作者:可可西里 更新时间:2023-11-01 07:06:53 24 4
gpt4 key购买 nike

我需要接收到变量的 laravel DB 连接,以便对数据库提出具体的纯 SQL php 需求。所需代码:

<?php 
// this is not working
$conn = DB::connection();

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>

期望的结果:“连接成功”

我需要它,因为我有非常复杂的 SQL 需求,我需要放入一个查询,而不是使用 laravel 查询语法(我相信这是更好的方法,但我有复杂的查询,需要使用纯查询文本来执行,不是 laravel "->"语法)

我需要让 laravel 数据库连接不总是像使用 PDO 或写下数据库凭据那样经常建立第二个 php 连接。如果存在从 laravel 到 DBS 的 PDO 连接,那么获取 php 对我来说也很有用。

DB::connection()->name

返回 DB 的名称,但这没有任何联系:/

我一直在寻找它,但找不到解决方案,有人可以帮我找到正确答案吗? (也许不重要,但我用的是mysql)

最佳答案

您可以在 Laravel 中使用原始查询来执行您想要的查询。如果您仍然需要连接实例,您可以创建一个类并实现 ConnectionResolverInterface:

use Illuminate\Database\ConnectionResolverInterface as Resolver
class connection implements Resolver {

}

然后就可以连接了:

$connector = new connection();
$connection = $connector->connection();

如果您正在使用您的模型连接,您可以通过这种方式获得连接:

$user = new User();
$user->getConnection();

您还可以使用 ConnectionFactory 建立新连接:

$connection = new Illuminate\Database\Connector\ConnectionFactory();

更多信息可以看laravel API doc

关于php - 如何让 laravel DB 连接到 php 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43023458/

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