我正在使用Laravel 5.0,我制作了2个数据库,一个用于系统,两个用于数据。当我尝试更改连接以从第二个数据库获取数据时,它会告诉错误
SQLSTATE [42P01]:未定义的表:7错误:关系“barang”没有 存在LINE 1:从barang中选择*
这是我的控制器
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use DB;
class MultiController extends Controller {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
$data = DB::connection('pgsql2')->select('select * from barang');
return view('laporan.db')->withData($data);
}
database.php中
<?php
return [
'fetch' => PDO::FETCH_CLASS,
'default' => 'pgsql',
'connections' => [
'pgsql' => [
'driver' => 'pgsql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'larasimak'),
'username' => env('DB_USERNAME', 'postgres'),
'password' => env('DB_PASSWORD', 'postgres'),
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public',
],
'pgsql2' => [
'driver' => 'pgsql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'simkie_data'),
'username' => env('DB_USERNAME', 'postgres'),
'password' => env('DB_PASSWORD', 'postgres'),
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public',
],
我的DotEnv
APP_ENV=local
APP_DEBUG=true
APP_KEY=nlXoLNFcWAD9rtTGXCUSpDdbQxms1ADi
DB_HOST=localhost
DB_DATABASE=larasimak
DB_USERNAME=postgres
DB_PASSWORD=postgres
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
答案 0 :(得分:0)
您应该设置第二个数据库的凭据。目前两个数据库都使用相同的凭证。尝试关注第二个数据库:
database.php中
'pgsql2' => [
'driver' => 'pgsql',
'host' => env('PS2_DB_HOST', 'localhost'),
'database' => env('PS2_DB_DATABASE', 'simkie_data'),
'username' => env('PS2_DB_USERNAME', 'postgres'),
'password' => env('PS2_DB_PASSWORD', 'postgres'),
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public',
]
.evn
PS2_DB_HOST=localhost
PS2_DB_DATABASE=simkie_data
PS2_DB_USERNAME=postgres
PS2_DB_PASSWORD=postgres