[英]Laravel 5 How to change a model database connection within controller
我的應用程序應該連接到內部和兩個外部商業SQL數據庫。
因此,我有幾種與外部MS-SQL數據庫連接的模型。
該模型如下所示:
class version_Jato extends Model
{
//
protected $connection = 'sqlJato';
protected $table = 'version';
....
}
到目前為止,一切正常,應用程序可用於兩個數據庫。
我想更改控制器內的$ connection變量,例如
version_Jato-> $connection = 'sqlJato2'.
這可能嗎?
因為我有兩個結構相同的SQL數據庫,但它們之間的數據不同,因此我不想將所有模型和控制器中的代碼加倍。
非常感謝您的關注!
我對Laravel不夠了解,無法確定它是否真的可以工作(例如,它將實際切換數據庫),但是普通的舊式OOP告訴我可以這樣編程:
模型
const SQL_JATO = 'sqljato';
const SQL_JATO_TWO = 'sqljato2'
public function setDbConnection(string $connection)
{
$this->connection = $connection;
}
控制者
$jato = new version_jato([$attributes]); // Put something in here
$jato->setDbConnection(version_jato::SQL_JATO_TWO);
$jato->save();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.