如何在 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);
有效
如何在 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);
有效