1
以下是如何在Laravel中使用Facade搜索表格數據與分頁。Laravel DB外觀使用多個數據庫
DB::table('customers')->paginate(15);
,但它可以使用只是一個DB,
那麼如何使用幾個分貝門面句子?
我希望用DB作爲讀寫DB或直接訪問單個句子。
謝謝廣告。
以下是如何在Laravel中使用Facade搜索表格數據與分頁。Laravel DB外觀使用多個數據庫
DB::table('customers')->paginate(15);
,但它可以使用只是一個DB,
那麼如何使用幾個分貝門面句子?
我希望用DB作爲讀寫DB或直接訪問單個句子。
謝謝廣告。
首先你必須 .env
指定你的數據庫配置:
DB_CONNECTION=mysql
DB_HOST=172.17.0.1
DB_DATABASE=my_database
DB_USERNAME=username
DB_PASSWORD=password
DB_SLAVE_HOST=172.17.0.1
DB_SLAVE_DATABASE=my_database_slave
DB_SLAVE_USERNAME=username2
DB_SLAVE_PASSWORD=password2
DB_MASTER_HOST=172.17.0.1
DB_MASTER_DATABASE=my_database
DB_MASTER_USERNAME=username
DB_MASTER_PASSWORD=password
和
project.dev/config/database.php
:
'mysql_master' => [
'driver' => 'mysql',
'host' => env('DB_MASTER_HOST', 'localhost'),
'port' => env('DB_MASTER_PORT', '3306'),
'database' => env('DB_MASTER_DATABASE', 'forge'),
'username' => env('DB_MASTER_USERNAME', 'forge'),
'password' => env('DB_MASTER_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
'mysql_slave' => [
'driver' => 'mysql',
'host' => env('DB_SLAVE_HOST', 'localhost'),
'database' => env('DB_SLAVE_DATABASE', 'forge'),
'username' => env('DB_SLAVE_USERNAME', 'forge'),
'password' => env('DB_SLAVE_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
然後你可以使用方法setConnection
這樣的:
public function getIndex(Product $product)
{
$this->products = $product->setConnection('mysql_slave')
->where('id' '>' 20)
->get()
...
您需要使用**連接方法**,DB :: connection('read') - > table('customers') - > paginate(15);','DB :: connection('write' ) - > table('customers') - > paginate(15);' 欲瞭解更多詳情 - > https://laravel.com/docs/5.5/database#using-multiple-database-connections –
@Suresh Velusamy,謝謝。:)如果有幾個DB在用戶,密碼等方面有不同的連接信息......那麼如何編寫數據庫連接設置? – Magnetic
你必須更新你的'用新的測試環境變量 phpunit.xml' –