cakephp mysql ->having

121
05 января 2021, 10:30

как мне написать такой запрос в cakephp

SELECT * FROM tickets INNER JOIN questions ON (questions.id_ticket = tickets.id) HAVING tickets.count_question = COUNT(tickets.id)

я пытаюсь так но оно не работает

$ticket = $this->Tickets->find()
->innerJoinWith('Questions')
->group('Tickets.id')
->having(['Tickets.count_question' => 'COUNT(Questions.id)']);
Answer 1

Укажите названия таблиц с маленькой буквы, т.к. в запросе у вас они с маленькой. Только в innerJoinWith должно быть с большой, т.к. туда передаётся название модели:

$ticket = $this->Tickets->find()
->innerJoinWith('Questions')
->group('tickets.id')
->having(['tickets.count_question' => 'COUNT(questions.id)']);

Если не поможет, попробуйте еще переписать join вот так:

$ticket = $this->Tickets->find()
->join([
    'questions' => [
        'table' => 'questions',
        'type' => 'inner',
        'conditions' => 'questions.id_ticket = tickets.id',
    ]
])
->group('tickets.id')
->having(['tickets.count_question' => 'COUNT(questions.id)']);
READ ALSO
Как гугл реагирует на редирект со стороны seo?

Как гугл реагирует на редирект со стороны seo?

У меня есть мультиязычный сайт и мне нужно что бы при заходе на домен меня перекидывало на определенную языковую версию, а именно с https://mydomencom...

89
Предупреждение при скачивании файла zip

Предупреждение при скачивании файла zip

Мне нужно создать zip файл и скачать его при загрузке файла Google Chrome предупреждает что файл может быть вредоноснымКак можно это исправить ? Код

91
Почему пропадает textarea?

Почему пропадает textarea?

У меня проблема, у меня почему то время от времени на сайте пропадает textareaВот скрин, в коде он есть, а на странице нету, в чём проблема? Вот код

128
Что означает Yii::$app->request->queryParams?

Что означает Yii::$app->request->queryParams?

Gii в контроллерах Yii стандартно генерирует строку $params = Yii::$app->request->queryParams;

80