如何进行类型转换以比较Laravel Fluent中的值?例如,如果我有以下MySQL:
SELECT * from table1 WHERE CAST(`values` AS SIGNED) > $myVar
这是我在Fluent中写完上述内容之后的目前:
$query = DB::connection('mysql')->table('table1')
->where('values', '>', $myVar);
目前,数据库将此视为字符串。由于其他原因,表中的列需要保留为varchar。如何在Laravel Fluent中为此特定查询执行类型转换?
答案 0 :(得分:5)
未经测试,但我相信这应该有效:
$query = DB::connection('mysql')->table('table1')
->where(DB::raw('CAST(values AS SIGNED)'), '>', $myVar);
答案 1 :(得分:1)
另外
$query= DB::connection('mysql')
->table('table1')
->whereRaw('CAST(values AS SIGNED) > '.$myVar);
作品