【问题标题】:Disable quotations marks on Eloquent in Laravel在 Laravel 的 Eloquent 上禁用引号
【发布时间】:2021-04-19 15:51:35
【问题描述】:

我正在尝试使用 Laravel 7 和 ODBC 连接到 DB2 数据库。当我尝试如下的普通 SELECT 语句时,问题就出现了。

$test = Test::where('TEST', '1')->get();

Eloquent 生成带引号的 SQL:SELECT * FROM 'TEST' WHERE 'TEST' = 1。我的 DB2 数据库不支持引号。如果我尝试以下操作,它可以正常工作。

$test = DB::connection('odbc-as400')->table('TEST')->take(50)->get();

class Test extends Model
{
    protected $connection = 'odbc-as400';
    protected $table = 'TEST';
}

连接:

'odbc-as400' => [
            'driver' => 'odbc',
            'dsn' => 'X',
            'host' => 'X',
            'username' => 'X',
            'password' => 'X',
            'prefix' => '',
            'database' => 'X',
            'options' => [
                'processor' => Illuminate\Database\Query\Processors\Processor::class,
                'grammar' => [
                    'query' => Illuminate\Database\Query\Grammars\Grammar::class,
                    'schema' => Illuminate\Database\Schema\Grammars\ODBCSchemaGrammar::class
                ]
            ]
        ],

如何禁用引号?

【问题讨论】:

    标签: sql laravel eloquent odbc laravel-7


    【解决方案1】:

    对于case,可以使用laravel的DB::statement()

    您可以阅读更多here

    希望能帮到你

    【讨论】:

    • 谢谢,但我可以使用查询生成器,问题来自 eloquent
    猜你喜欢
    • 1970-01-01
    • 2013-11-25
    • 2017-08-07
    • 2019-08-02
    • 1970-01-01
    • 1970-01-01
    • 2013-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多