简体   繁体   English

在Laravel查询构建器中等效FORCE INDEX FOR JOIN

[英]Equivalent of FORCE INDEX FOR JOIN in Laravel query builder

I'm building a Laravel 5.2 application. 我正在构建一个Laravel 5.2应用程序。 I have a native SQL Query that need to be translated to the query builder form, I mean, make the equivalent of the SQL query in the Laravel query builder. 我有一个本机SQL查询需要转换为查询构建器表单,我的意思是,在Laravel查询构建器中等效于SQL查询。 Basically, I'm facing a problem when I tried to translate the FORCE INDEX FOR JOIN command, this is the native SQL query: 基本上,当我尝试翻译FORCE INDEX FOR JOIN命令时,我遇到了一个问题,这是本机SQL查询:

SELECT some columns...
    FROM table1 AS t1 
        LEFT JOIN table2 AS t2 
        FORCE INDEX FOR JOIN (idx_table2) 
            ON ((t1.messageid = t2.messageid) AND (t2.othercolumn = 1))  
        WHERE something... 

So, by now I have: 所以,到现在为止我有:

$query= DB::table('table1 as t1')
                        ->leftJoin('table2 as t2', 't1.messageid', '=', 't2.messageid')

So, How can I add this line FORCE INDEX FOR JOIN (idx_table2) ? 那么,如何添加此行FORCE INDEX FOR JOIN (idx_table2)

You can use this syntax: 您可以使用以下语法:

$query= DB::table('table1 as t1')
                    ->leftJoin(DB::raw('table2 AS t2 FORCE INDEX FOR JOIN (idx_table2)'), 't1.messageid', '=', 't2.messageid')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM