Laravel 设置连接排序规则(SQL 服务器)

NoO*_*Z24 3 sql-server laravel laravel-query-builder

我正在尝试将普通 SQL 查询移至 Laravel 查询生成器。

这不是我第一次这样做,但现在“出现了不同的情况”。

我需要为连接设置排序规则,在普通 SQL 中这是没有问题的:

"...
LEFT OUTER JOIN " . $pltable1 . " on PL01001=supplier collate Latvian_BIN
..."
Run Code Online (Sandbox Code Playgroud)

当我尝试时 Laravel 抛出错误:

->leftJoin($pltable1, "PL01001", "=", "supplier");
Run Code Online (Sandbox Code Playgroud)

无法解决等于操作中“SQL_Latin1_General_CP1_CI_AS”和“Latvian_BIN”之间的排序规则冲突。

我知道这是因为我没有指定连接排序规则,但我不知道如何执行此操作。有没有人遇到过类似的事情并找到解决方案?

PS 我无法更改表本身的默认排序规则

NoO*_*Z24 5

我记得我问过这个问题并意识到我找到了这个问题的解决方案:

DB::table('table1')
    ->leftJoin('table2', 'table1.column', '=', DB::raw('table2.column collate Latvian_BIN'))
    ->get();
Run Code Online (Sandbox Code Playgroud)

基本上所需要做的就是将一列和排序规则包装在 DB::raw() 希望这对某人有帮助