小编saj*_*ili的帖子

原则:具有 LIKE 条件的 Multiple orWhere

使用具有结构的表:

id              | count
/string/id1     | 3 
/string/id1/r1  | 2
/string/id1/r2  | 1 
/string/id2/r1  | 2
/string/id2     | 3 
/string/id2/r1  | 2
/string/id3/r1  | 5
Run Code Online (Sandbox Code Playgroud)

我想选择id中需要子字符串的所有行。
即我需要 id 中有子字符串的所有行: /string/id1/string/id2

查询应该很简单 - 简单的 sql:

select * from table_name where id LIKE '/string/id1%' OR id LIKE '/string/id2%';
Run Code Online (Sandbox Code Playgroud)

结果应该是:

id              | count
/string/id1     | 3 
/string/id1/r1  | 2
/string/id1/r2  | 1
/string/id2/r1  | 2
/string/id2     | 3 
/string/id2/r1  | 2
Run Code Online (Sandbox Code Playgroud)

不幸的是,如果您尝试在 symfony 和doctrine2 中使用相同的查询:

$ids = array('/string/id1', '/string/id2');

$query …
Run Code Online (Sandbox Code Playgroud)

php sql symfony doctrine-orm

2
推荐指数
1
解决办法
4031
查看次数

标签 统计

doctrine-orm ×1

php ×1

sql ×1

symfony ×1