我有一个开发数据库和一个实时数据库。我需要从实时数据库中返回一些结果,但仅针对此模型中的一种方法。
<?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;
}
}
Run Code Online (Sandbox Code Playgroud)
如果我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;
}
}
Run Code Online (Sandbox Code Playgroud)
然后应该使用live数据库配置中的连接运行查询。
| 归档时间: |
|
| 查看次数: |
6335 次 |
| 最近记录: |