Sql cakephp3。查询合并在何处相似

Sql cakephp3。查询合并在何处相似,sql,cakephp,cakephp-3.0,query-builder,Sql,Cakephp,Cakephp 3.0,Query Builder,我的桌子看起来像: id | tags --------------------------------- 974 | Hip-Hop;Rap 984 | Hip-Hop;Underground Hip-Hop 我想查询不同的标签并得到id。比如说 $searchTags=['Rap','Unterground Hip-Hop']; $table = TableRegistry::get('MyTable')->find(); $songIds = $table->s

我的桌子看起来像:

 id  | tags
 ---------------------------------
 974 | Hip-Hop;Rap
 984 | Hip-Hop;Underground Hip-Hop
我想查询不同的标签并得到id。比如说

$searchTags=['Rap','Unterground Hip-Hop'];

$table = TableRegistry::get('MyTable')->find();

$songIds = $table->select(['id'])
                 ->where(['tags IN LIKE' => $searchTags]);

是否有可能与其他解决方案相结合?

当涉及SQL内容时,请始终提及您正在使用的DBMS(即MySQL、Postgres等)。旁注:如果可能的话,您应该修复模式,并为标记使用适当的多对多关联。搜索/查询这样的字符串集通常效率很低。sry。。。我正在使用MySql数据库…我还建议您修复您的模式。理想情况下,标记应该位于新表上。如果确实无法修复架构,可以使用子查询首先查找将在
where
子句中使用的标记ID。但修复模式对未来确实会更好。当涉及到SQL内容时,请始终提及您正在使用的DBMS(即MySQL、Postgres等)。旁注:如果可能的话,您应该修复模式,并为标记使用适当的多对多关联。搜索/查询这样的字符串集通常效率很低。sry。。。我正在使用MySql数据库…我还建议您修复您的模式。理想情况下,标记应该位于新表上。如果确实无法修复架构,可以使用子查询首先查找将在
where
子句中使用的标记ID。但修复模式对未来来说确实要好得多。