Kombinuje tak
<?php $c = new Criteria(); $c->addDescendingOrderByColumn(FilesPeer::ADDED_ON); foreach($this->prepareQueryArray($keywords) as $query) { if($query !== '') { ? $cion = $c->getNewCriterion(FilesPeer::ARTIST, '%' . $query . '%', Criteria::LIKE) : $cion->addOr($c->getNewCriterion(FilesPeer::ARTIST, '%' . $query . '%', Criteria::LIKE)); $cion->addOr($c->getNewCriterion(FilesPeer::TITLE, '%' . $query . '%', Criteria::LIKE)); } } $c->addAnd($cion); ?>
Ale nie wychodzi dobrze , dostaje cos takiego. Słowa kluczowe na ktorych testuje to test testu.
SELECT files.ID, files.ARTIST, files.TITLE, files.URL, files.TEXTS_ID, files.VIDEOS_ID, files.ADDED_ON, files.SIZE, files.DOWNLOADED FROM files WHERE (((files.ARTIST LIKE '%test%' OR files.TITLE LIKE '%test%') OR files.ARTIST LIKE '%testu%') OR files.TITLE LIKE '%testu%') ORDER BY files.ADDED_ON DESC LIMIT 10
A chce ulozyc to w taki sposob
(files.ARTIST LIKE '%test%' OR files.TITLE LIKE '%test%') AND (files.ARTIST LIKE '%testu%' OR files.TITLE LIKE '%testu%')
ale mi nie wychodzi. potem przerobiłem trochę inaczej to błędami pluło.
Proszę o pomoc.