如何在 Laravel 5 中为 Yajra 数据表指定特定连接(或数据库名称)

How to specify a specific connection (or the database name) for Yajra Datatables in Laravel 5

我正在使用 Laravel 5 和 Jajra/Datatables

该项目使用 3 个数据库,一个是 MySQL,两个是商业 SQL 数据库。

SQL 数据库中 table 个名称完全相同。

如果我想显示来自 MySql 数据库的 table 我在控制器中使用:

return  Datatables::of(DB::table('coeficientVR_VanzariNoi')
        ->get(['id','marca','model','capacitate','combustibil', 'caroserie', 'altaClasaSchimb', 'coeficient',
              ]))->make(true);

而且效果很好!

如何从 SQL 数据库之一指定 table?

我有关联的模型,模型有指定的连接。

table 之一的示例,名为 "version":

class version_Jato extends Model
{
    //
    protected $connection = 'sqlJato';
    protected $table = 'version';
    protected $primaryKey = 'vehicle_id';

....

所以我需要指定 SQL 数据库,但我不知道如何指定。

感谢您的宝贵时间!

如果您已经在每个模型上定义了$connection,您可以直接查询模型,即:

return DataTables::eloquent(App\version_Jato::query())
    ->make();

您可以在 yajra/datatables docs 中阅读它。