如何在 Laravel Fluent 中进行类型转换?

How do I do a type cast in Laravel Fluent?

如何在 Laravel Fluent 中进行类型转换以比较值?例如,如果我有以下 MySQL:

SELECT * from table1 WHERE  CAST(`values` AS SIGNED) > $myVar

这是我用 Fluent 写完上面的内容后得到的:

$query = DB::connection('mysql')->table('table1')
    ->where('values', '>', $myVar);

目前数据库将其视为字符串。由于其他原因,table 中的列需要保留为 varchar。如何在 Laravel Fluent 中为这个特定查询进行类型转换?

未经测试,但我相信这应该有效:

$query = DB::connection('mysql')->table('table1')
    ->where(DB::raw('CAST(values AS SIGNED)'), '>', $myVar);

还有

$query= DB::connection('mysql')
            ->table('table1')
            ->whereRaw('CAST(values AS SIGNED) > '.$myVar);

有效