0

このようなSQLを取得する方法:

select * from foo where LOWER(foo_name) like '%test%'; 

私はこれを達成できることを知っています:

select * from foo where LOWER(foo_name) = 'test';

に:

$where->addPredicate(new Predicate\Expression('LOWER(foo_name) = ?', 'test' ));

この:

 select * from foo where foo_name like '%test%';

に:

$where->addPredicate( new \Zend\Db\Sql\Predicate\Like('LOWER(foo_name)', '%test%'));

しかし、どのように2つを組み合わせるのですか?

4

2 に答える 2

1

おそらく理想的ではありませんが、文字通り行うことができます:

$where->literal("LOWER(foo_name) LIKE '%test%'");
于 2014-07-08T00:34:08.940 に答える