<?php
class Client extends Eloquent {
protected $table = 'clients';
private $connection = 'connection2';
public function getById($id) {
return DB::connection($this->connection)->table('clients')
->select('client_name')
->where('id', $id)
->first();
}
}
此模型需要连接到不同于此应用程序中的连接。起初我给连接字符串作为参数,但后来决定反复传递相同的参数是不好的,当我知道对于这个模型时,只使用这个连接。现在它被硬编码为私有变量。
并且有几个这样的模型具有相同的连接。没关系,但是如果这个连接设置在一个地方可能会更好,以防它被改变 - 所以不需要去使用所有使用它的模型并改变。
因此,我想到的一件事就是拥有一些具有此连接的父模型,并且客户端模型从中扩展。
但不确定那会不会好?也许你有其他一些想法?
答案 0 :(得分:1)
创建一个单独的类,用于定义连接,并在将来使用此类扩展任何类。
use Eloquent;
class Connection2Eloquent extends Eloquent
{
protected $connection = "connection2";
}
现在使用connection2eloquent扩展您的客户端:
class Client extends Connection2Eloquent
{
}