用于子查询的Laravel连接

时间:2014-09-24 14:56:03

标签: laravel laravel-4

我正在使用Laravel 4.1。

我正在尝试从表中获取记录列表,其中userid在用户表中不存在为id。

我正在尝试使用子选择创建查询。主查询和子选择都需要使用非默认连接。

我试过了:

    DB::connection('database')
        ->table('table')
        ->whereNotIn('userid', function($query)
        {
            $query->select('id')
                ->from('user');
        })->get();

当我打印出sql并在MySQL工作台中运行它时,我得到了预期的结果。 但我觉得子选择是在默认连接而不是我试图使用的连接上完成的。

请帮忙。

1 个答案:

答案 0 :(得分:0)

我做了一个测试,似乎工作正常。如果您的查询还$query->select('id')->from('user');将在database连接上运行。

您可以自行测试。在from('user')中,您应该为默认连接存在表的名称,并且在database连接中不存在。如果子查询将使用默认连接应用程序不应该抛出任何异常,但事实上它确实是因为database连接中不存在此表