0

データベースからタイトルを取得しようとしています。しかし、それは機能しません:

$select->where->like('LOWER(title)','%'.$search_by.'%');

LOWER がなくても問題なく動作します。

$select->where->like('title','%'.$search_by.'%');

しかし、小文字が必要です。

4

2 に答える 2

0

以下を検索した人のための解決策を (ZF3 で) 見つけました。

use Zend\Db\Sql\Expression;
$upperExpr = new Expression('LOWER(?)', [title], [Expression::TYPE_IDENTIFIER]);
$select->where->like($upperExpr, "%" . mb_strtolower($search_by, 'UTF-8') . "%");

または、「äÄöÖüÜ」がない場合はstrtolower()のみ;)

これにより、適切な SQL ステートメントが作成されます。

于 2019-08-27T08:56:20.710 に答える