Есть ли более простой способ построения запросов в доктрине, чем этот.На данный момент есть только один параметр, но в некоторых случаях это может быть имя пользователя, тэг и т. Д. Некоторые из них могут быть нулевыми или пустыми.Мне просто нужна простая реализация StringBuilder для тех.Я пытался сделать DQL-запрос с помощью LEFT JOIN, но я понятия не имею, как делать DQL-запросы?
public function getTagsByApiKey($apikey='', $limit = 20){
$whereArray = array();
$whereClauseArray = array();
if($apikey != ''){
array_push($whereClauseArray, ' f.apikey = :apikey ');
$whereArray[':apikey'] = $apikey;
}
$whereClause = '';
for ($i=0; $i < sizeof($whereClauseArray); $i++) {
if($i>0){
$whereClause .= ' AND ';
}
$whereClause .= $whereClauseArray[$i];
}
$q = Doctrine_Query::create()
->from('Tag t')
->leftJoin('t.Feedback f')
->where($whereClause, $whereArray)
->orderBy('t.count ASC')
->limit($limit);
return $q->execute();
}