verbb / formie

The most user-friendly forms plugin for Craft CMS.
Other
94 stars 72 forks source link

Column not found: 1054 Unknown column 'formie_submissions.title' in 'order clause' #2016

Closed bryandugan closed 1 month ago

bryandugan commented 1 month ago

Describe the bug

Our CRM Administrator has noticed a bug that we have narrowed down to happening only in Edge (We cleared Edge Cache, and it works fine in Chrome). When she goes to view the Contact form, she gets a message that says 'Internal Server Error' and none of the submissions show up.

The fields we have displayed are:

2024-08-08 17:13:21 [web.ERROR] [yii\db\Exception] SQLSTATE[42S22]: Column not found: 1054 Unknown column 'formie_submissions.title' in 'order clause' The SQL being executed was: SELECT `elements`.`id`, `elements`.`canonicalId`, `elements`.`fieldLayoutId`, `elements`.`uid`, `elements`.`enabled`, `elements`.`archived`, `elements`.`dateLastMerged`, `elements`.`dateCreated`, `elements`.`dateUpdated`, `elements_sites`.`id` AS `siteSettingsId`, `elements_sites`.`siteId`, `elements_sites`.`title`, `elements_sites`.`slug`, `elements_sites`.`uri`, `elements_sites`.`content`, `elements_sites`.`enabled` AS `enabledForSite`, `formie_submissions`.`id`, `formie_submissions`.`formId`, `formie_submissions`.`statusId`, `formie_submissions`.`userId`, `formie_submissions`.`isIncomplete`, `formie_submissions`.`isSpam`, `formie_submissions`.`spamReason`, `formie_submissions`.`spamClass`, `formie_submissions`.`snapshot`, `formie_submissions`.`ipAddress`, `formie_submissions`.`content` AS `fieldContent` FROM (SELECT `elements`.`id` AS `elementsId`, `elements_sites`.`id` AS `siteSettingsId` FROM `elements` `elements` INNER JOIN `formie_submissions` `formie_submissions` ON `formie_submissions`.`id` = `elements`.`id` INNER JOIN `elements_sites` `elements_sites` ON `elements_sites`.`elementId` = `elements`.`id` WHERE (`formie_submissions`.`formId`=3) AND (`elements`.`archived`=FALSE) AND (`elements`.`dateDeleted` IS NULL) AND (`elements`.`draftId` IS NULL) AND (`elements`.`revisionId` IS NULL) ORDER BY `formie_submissions`.`title` LIMIT 100) `subquery` INNER JOIN `elements` `elements` ON `elements`.`id` = `subquery`.`elementsId` INNER JOIN `elements_sites` `elements_sites` ON `elements_sites`.`id` = `subquery`.`siteSettingsId` INNER JOIN `formie_submissions` `formie_submissions` ON `formie_submissions`.`id` = `subquery`.`elementsId` ORDER BY `formie_submissions`.`title` {"trace":["#0 /var/task/vendor/yiisoft/yii2/db/Command.php(1325): yii\\db\\Schema->convertException(Object(PDOException), 'SELECT `element...')","#1 /var/task/vendor/yiisoft/yii2/db/Command.php(1186): yii\\db\\Command->internalExecute('SELECT `element...')","#2 /var/task/vendor/yiisoft/yii2/db/Command.php(417): yii\\db\\Command->queryInternal('fetchAll', NULL)","#3 /var/task/vendor/yiisoft/yii2/db/Query.php(249): yii\\db\\Command->queryAll()","#4 /var/task/vendor/craftcms/cms/src/db/Query.php(292): yii\\db\\Query->all(NULL)","#5 /var/task/vendor/craftcms/cms/src/elements/db/ElementQuery.php(1778): craft\\db\\Query->all(NULL)","#6 /var/task/vendor/craftcms/cms/src/base/Element.php(1339): craft\\elements\\db\\ElementQuery->all()","#7 /var/task/vendor/craftcms/cms/src/base/Element.php(1271): craft\\base\\Element::indexElements(Object(verbb\\formie\\elements\\db\\SubmissionQuery), 'form:3')","#8 /var/task/vendor/craftcms/cms/src/controllers/ElementIndexesController.php(855): craft\\base\\Element::indexHtml(Object(verbb\\formie\\elements\\db\\SubmissionQuery), Array, Array, 'form:3', 'index', true, true, false)","#9 /var/task/vendor/craftcms/cms/src/controllers/ElementIndexesController.php(176): craft\\controllers\\ElementIndexesController->elementResponseData(true, true)","#10 [internal function]: craft\\controllers\\ElementIndexesController->actionGetElements()","#11 /var/task/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)","#12 /var/task/vendor/yiisoft/yii2/base/Controller.php(178): yii\\base\\InlineAction->runWithParams(Array)","#13 /var/task/vendor/yiisoft/yii2/base/Module.php(552): yii\\base\\Controller->runAction('get-elements', Array)","#14 /var/task/vendor/craftcms/cms/src/web/Application.php(349): yii\\base\\Module->runAction('element-indexes...', Array)","#15 /var/task/vendor/craftcms/cms/src/web/Application.php(648): craft\\web\\Application->runAction('element-indexes...', Array)","#16 /var/task/vendor/craftcms/cms/src/web/Application.php(311): craft\\web\\Application->_processActionRequest(Object(craft\\web\\Request))","#17 /var/task/vendor/yiisoft/yii2/base/Application.php(384): craft\\web\\Application->handleRequest(Object(craft\\web\\Request))","#18 /var/task/web/index.php(12): yii\\base\\Application->run()","#19 {main}"],"memory":4985704,"exception":"[object] (yii\\db\\Exception(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'formie_submissions.title' in 'order clause'\nThe SQL being executed was: SELECT `elements`.`id`, `elements`.`canonicalId`, `elements`.`fieldLayoutId`, `elements`.`uid`, `elements`.`enabled`, `elements`.`archived`, `elements`.`dateLastMerged`, `elements`.`dateCreated`, `elements`.`dateUpdated`, `elements_sites`.`id` AS `siteSettingsId`, `elements_sites`.`siteId`, `elements_sites`.`title`, `elements_sites`.`slug`, `elements_sites`.`uri`, `elements_sites`.`content`, `elements_sites`.`enabled` AS `enabledForSite`, `formie_submissions`.`id`, `formie_submissions`.`formId`, `formie_submissions`.`statusId`, `formie_submissions`.`userId`, `formie_submissions`.`isIncomplete`, `formie_submissions`.`isSpam`, `formie_submissions`.`spamReason`, `formie_submissions`.`spamClass`, `formie_submissions`.`snapshot`, `formie_submissions`.`ipAddress`, `formie_submissions`.`content` AS `fieldContent`\nFROM (SELECT `elements`.`id` AS `elementsId`, `elements_sites`.`id` AS `siteSettingsId`\nFROM `elements` `elements`\nINNER JOIN `formie_submissions` `formie_submissions` ON `formie_submissions`.`id` = `elements`.`id`\nINNER JOIN `elements_sites` `elements_sites` ON `elements_sites`.`elementId` = `elements`.`id`\nWHERE (`formie_submissions`.`formId`=3) AND (`elements`.`archived`=FALSE) AND (`elements`.`dateDeleted` IS NULL) AND (`elements`.`draftId` IS NULL) AND (`elements`.`revisionId` IS NULL)\nORDER BY `formie_submissions`.`title`\nLIMIT 100) `subquery`\nINNER JOIN `elements` `elements` ON `elements`.`id` = `subquery`.`elementsId`\nINNER JOIN `elements_sites` `elements_sites` ON `elements_sites`.`id` = `subquery`.`siteSettingsId`\nINNER JOIN `formie_submissions` `formie_submissions` ON `formie_submissions`.`id` = `subquery`.`elementsId`\nORDER BY `formie_submissions`.`title` at /var/task/vendor/yiisoft/yii2/db/Schema.php:676)\n[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'formie_submissions.title' in 'order clause' at /var/task/vendor/yiisoft/yii2/db/Command.php:1320)"} 

Steps to reproduce

  1. Use Edge Browser on Windows
  2. Go to /admin/formie/submissions/contact?source=form%3A3
  3. Switching to other forms, then back to Contact will only show data submissions from the previous form.

Form settings

Craft CMS version

5.3.1

Plugin version

3.0.0

Multi-site?

No

Additional context

No response

engram-design commented 1 month ago

Fixed for the next release. To get this early, run composer require verbb/formie:"dev-craft-5 as 3.0.0".

engram-design commented 1 month ago

Fixed in 3.0.1