DB :: connection()Laravel 5不工作

时间:2017-08-03 05:11:31

标签: postgresql laravel laravel-5

我正在使用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

1 个答案:

答案 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