我有一堆数学任务,我想通过文本框过滤。
例如:41应该返回41,410,411。。。411应该返回411
为此,我编写了以下代码:
$operator = DB::connection()->getPdo()->quote("{$operator}");
$operand2 = DB::connection()->getPdo()->quote("{$operand2}%");
DB::table('tasks')
->select(DB::raw('*'))
->whereRaw("operand1 = {$operand1} AND operator = {$operator} AND CAST(operand2 AS CHAR(50)) LIKE {$operand2}")
->get();
这样做的结果是出乎意料和不可预测的。
当我键入45时,得到4{任何操作数}
当我输入412时,我得到41,410,411,4*12
更新/解决方案
结果发现它与mysql或laravel没有任何关系。这是js中的一个错误。我使用了keypress事件而不是keyup。这样,最后输入的数字总是丢失。
暂无答案!
目前还没有任何答案,快来回答吧!