在cakephp搜索整数

时间:2015-08-13 13:22:29

标签: php mysql cakephp

我有一个表格,其中的列包含如下所示的数字。

287:406:852,248:963:147

我想通过在cakephp中使用find方法搜索287但不是2870的记录。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

MySQL有一个函数FIND_IN_SET,它以一组逗号分隔的搜索字符串字符串返回位置。

调整搜索列。 (假设您的列名为 foo

  1. 使用REPLACE命令

    用逗号替换冒号

    REPLACE(foo,':',',')

  2. SQL WHERE代码看起来像(假设$ bar是您要查找的整数)

    WHERE 0 < FIND_IN_SET($bar, REPLACE(foo,':',','))

  3. 将Cakephp 放在一起(我相信这段代码会清理你的$ bar变量)

    $conditions = array('0 < FIND_IN_SET(?, REPLACE(foo,':',',')' => array($bar));