Zend 2: предикат и '(' & ')'Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Zend 2: предикат и '(' & ')'

Сообщение Anonymous »

Я хочу добавить скобки в свой запрос, но не знаю, как это сделать. Можете ли вы мне помочь?

Мой SQL-запрос:

Код: Выделить всё

SELECT *
FROM vw_my_asn_header
WHERE username = 'toto'
AND (shipment_number LIKE '20151106052811' OR
shipment_number LIKE '20151110053250' OR
shipment_number LIKE '20151116054359')
ORDER BY message_id ASC
Мой zend-запрос:

Код: Выделить всё

public function searchSitesDeliveries($username, Search $search)
{
$select = $this->tableGateway->getSql()->select();
array(new Predicate\Expression('username = ?', $username)),Predicate\PredicateSet::COMBINED_BY_AND);

if (!empty($search->get_shipment_number()))
{
$valeur = $search->get_shipment_number();

if(is_array($valeur)) {
$valeur = array_unique($valeur);

foreach ($valeur as $key => $value) {
$predicate_set->orPredicate(new Predicate\Like('shipment_number', '%'.$value.'%'));
}
}
else {
$predicate_set->andPredicate(new Predicate\Like('shipment_number', '%'.$valeur.'%'));
}
}

$select->where($predicate_set);
$resultSet = $this->tableGateway->selectWith($select);

return $resultSet;
}
Отсутствует скобка между именем пользователя и apès и концом предложенияwhere.

Код: Выделить всё

["queryString"] => string(181) "SELECT vw_my_asn_header FROM vw_my_asn_header WHERE (username = :where1 AND shipment_number LIKE :where2 OR shipment_number LIKE :where3 OR shipment_number LIKE :where4)"
Как их добавить?

Подробнее здесь: https://stackoverflow.com/questions/350 ... dicate-and
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»