49680


# やりたいこと

Laravelにてconnectionを指定したクエリビルダを使いたい

## 例

この方法ではクエリビルダが生成されますが、  
connectionは初期状態になります。

[code]

    $builder = \DB::table('table'); // Illuminate\Database\Query\Builder
    $builder->distinct();
    
[/code]

以下のように、postgresのコネクションを作成した場合、  
クエリビルダではなくコネクションとして生成されます。

[code]

    $builder = \DB::connection('postgresql'); // Illuminate\Database\PostgresConnection
    $builder->table('table');
    $builder->distinct(); // Error
    
[/code]

もちろんクエリビルダではないので、  
`->distinct()` するとエラーになります。

[code]

    Symfony\Component\Debug\Exception\FatalThrowableError  : Call to undefined method Illuminate\Database\PostgresConnection::distinct()
    
[/code]

クエリビルダを生成して、あとからコネクションを設定するか、  
コネクションを指定したクエリビルダを生成する方法はないでしょうか。


CC BY-SA 4.0
2018-10-26T08:18:12.173
49679
2018-10-26T08:52:21.637
20868
question
php laravel
Laravel 5.7 にて connection を指定したクエリビルダのやり方


これでどうですか

[code]

    \DB::connection('postgresql')->select('select * from table');
    
[/code]


CC BY-SA 4.0
2018-10-26T08:52:21.637
49680
2018-10-26T08:52:21.637
29367
49679
answer