WHERE子句中的数组数据

时间:2011-09-05 16:16:18

标签: arrays doctrine where

在where子句中遇到数组问题。我的对象中有一个数组。 YML:

Shoe
  ShoeOne
    sizes:
     - 30
     - 31
     - 32
     - 33
   ...
  ShoeTwo
   ...

如何选择两个系列之间匹配的鞋子?

尝试使用BETWEEN但序列化了数组。有没有函数在Doctrine / MySql中使用序列化数组进行选择或者更好地使用字符串?或者更好地使用什么?

1 个答案:

答案 0 :(得分:0)

这有效:

 static function makeOrQueryFromArray($array, $table_name)
  {
        $query="(";
        foreach ($array as $value)
        {
          $query .= "s.$table_name LIKE '%i:$value%' OR ";
        }
        return substr($query,0,strlen($query)-4).")";
  }