Zend:如何在不考虑区分大小写的情况下从数据库中获取记录?

Nav*_*eed 2 php mysql zend-framework case-sensitive

我正在使用Zend Framework.我想从数据库中获取记录而不考虑区分大小写.

这是我的人员表:

Id|Name  |Gender|Occupation
-----------------------------------
1 |Naveed|Male  |Software Engineer
-----------------------------------
2 |Ali   |Male  |Software Developer
Run Code Online (Sandbox Code Playgroud)

现在如果我使用以下字符串在where子句中使用'Occupation'搜索上表中的记录,它应该总是返回记录号1(Naveed的记录).

Software Engineer
software engineer
SoFtwarE EngIneeR
SOFTWARE ENGINEER
Run Code Online (Sandbox Code Playgroud)

我使用以下方式从Zend中的数据库中获取记录.

$occupation = "Software Engineer";
$table = new Model_Person_DbTable();
$select = $table->select();
$select->where( 'Occupation = ?', $occupation ); 
$rows = $table->fetchAll( $select );
Run Code Online (Sandbox Code Playgroud)

现在如何为我的场景更改上面的zend代码?

我可以创建一个逻辑来忽略区分大小写的外部数据库查询,但我想知道如果Zend/SQL中有任何方法可以在查询中处理这个问题.

谢谢

Gor*_*don 7

尝试

$select->where( 'upper(Occupation) = upper(?)', $occupation ); 
Run Code Online (Sandbox Code Playgroud)

这将使列中的值和搜索值为大写