Php zend框架,其中使用regexp进行查询
我想在数据库中搜索具有这些条件的数据Php zend框架,其中使用regexp进行查询,php,mysql,zend-framework,zend-framework2,Php,Mysql,Zend Framework,Zend Framework2,我想在数据库中搜索具有这些条件的数据 选择* 来自SMS_报告 其中AWB_无REGEXP“1500” 或SMS_TEXT REGEXP“某些字符串” 或在“%some string%”之类的位置更新_; 我想使用上述条件在数据库中查询请帮助我查询Zend framework这里是我找到的内容及其对我的帮助 $sql = new Sql($this->adapter); $select = $sql->select(array('t1' => $this->ta
选择*
来自SMS_报告
其中AWB_无REGEXP“1500”
或SMS_TEXT REGEXP“某些字符串”
或在“%some string%”之类的位置更新_;
我想使用上述条件在数据库中查询请帮助我查询Zend framework这里是我找到的内容及其对我的帮助
$sql = new Sql($this->adapter);
$select = $sql->select(array('t1' => $this->table));
$select->columns(array(
'From' => 'SMS_From',
'AWB_NO',
'Text' => 'SMS_TEXT',
'Status',
'Send_at' => new Expression('IF(t1.Update_at IS NOT NULL,t1.Update_at,"")')
));
if (isset($data['search_string']) && !empty($data['search_string'])) {
$date = date('Y-m-d',strtotime($data['search_string']));
$select->where(array(
new PredicateSet(
array(
new PredicateExpression("Update_at = '".$date."'"),
new PredicateExpression("SMS_TEXT REGEXP '".$data['search_string']."'"),
new PredicateExpression("AWB_NO REGEXP '".$data['search_string']."'"),
),
PredicateSet::COMBINED_BY_OR
),
));
}
$select->join(array('t2' => 'MST_Clients'),'t1.Client_ID = t2.Client_ID',
array(
'Client_Name' => new Expression('IF(t2.Client_Name IS NOT NULL,t2.Client_Name,"")'),
),'LEFT');
// echo $sql->getSqlStringForSqlObject($select);die;
if($paging) {
$dbAdapter = new DbSelect($select, $this->getAdapter ());
$paginator = new Paginator($dbAdapter);
return $paginator;
}else {
$smt = $sql->prepareStatementForSqlObject($select);
$result = $this->resultSetPrototype->initialize($smt->execute())->toArray();
return $result;
}
或其中
只能是或
ok@Qirel done您能告诉我zendUse原始查询方法的查询结果吗?->最简单的方法..@RaymondNijland我想用SQL对象$SQL=newsql($this->adapter)编写它$select=$sql->select(数组('t1'=>$this->table))代码>Zend不支持MySQL的关键字REGEXP native->