【发布时间】:2018-02-28 05:52:27
【问题描述】:
我想创建一个过滤器,其中搜索只会给我以搜索内容开头的条目。
例如,我正在搜索以“92”开头的邮政编码。使用当前的过滤器,它给我“92000”,但当我只想要第一个时,它也给我“29200”。
在 SQl 中,它会是“像 $value% 这样的邮政编码”或类似的东西。
在第 2 个答案后编辑:
我尝试了自定义回调。但是这个例子是一个显示为复选框的链接实体,我只想要实体中的一个字段上的“where like something%”。没有左连接!
到目前为止,这是我的代码,但我收到“警告:非法字符串偏移 'value'”
$this->datagrid->add('postCode', 'doctrine_orm_callback', array(
'callback' => function($queryBuilder, $field, $value) {
if (!$value['value']) {
return;
}
$queryBuilder->andWhere('s.postCode like :value');
$queryBuilder->setParameter('value', $value);
return true;
}
));
实体'Trainer'中的字段是'postCode'
【问题讨论】:
-
你试过什么?您应该包括您尝试过的内容,我们将尝试帮助您解决问题。