gpt4 book ai didi

php - Laravel,为一种方法更改模型中的连接?

转载 作者:行者123 更新时间:2023-12-04 15:59:37 25 4
gpt4 key购买 nike

我有一个开发数据库和一个实时数据库。我需要从实时数据库中返回一些结果,但仅针对此模型中的一种方法。

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class TableName extends Model
{
protected $table = 'table_name';

protected $connection = 'dev';

public $timestamps = false;

public static function live($index) {

$liveId = Settings::where('index', $index)->get()[0];

$live = new TableName;

$live->setConnection('live');

$data = $live::where('index', $liveId->live_index)->get();

dd($live);

return $data;

}
}

如果我 dd() $live调用后的变量 setConnection那么它确实说连接确实是 live .然而,一旦我 dd() $data我从 获取行开发 数据库!

最佳答案

Eloquent 提供了一种处理多个连接的好方法。

您应该可以使用 on方法。例如。

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class TableName extends Model
{
protected $table = 'table_name';

protected $connection = 'dev';

public $timestamps = false;

public static function live($index) {

$liveId = Settings::where('index', $index)->get()[0];

$data = self::on('live')->where('index', $liveId->live_index)->get();

return $data;

}
}

然后应该使用 live 运行查询数据库配置中的连接。

关于php - Laravel,为一种方法更改模型中的连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52278456/

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