Skip to content

Instantly share code, notes, and snippets.

@Spriz
Last active July 29, 2016 11:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Spriz/e9b9d9d172e44aca53a5a31f929918cb to your computer and use it in GitHub Desktop.
Save Spriz/e9b9d9d172e44aca53a5a31f929918cb to your computer and use it in GitHub Desktop.
SELECT *
FROM forms Forms
INNER JOIN form_fields FormFields ON (
content_value >= '2016-01-04'
AND content_value <= '2016-07-07'
AND Forms.id = (FormFields.form_id)
AND (FormFields.deleted) IS NULL
)
INNER JOIN form_field_types FormFieldTypes ON (
FormFieldTypes.identifier = 'date'
AND FormFieldTypes.id = (FormFields.form_field_type_id)
AND (FormFieldTypes.deleted) IS NULL
)
WHERE (Forms.Company_Id = 'e44f293e-5395-46fa-9d0e-947956a44f4a'
AND (Forms.deleted) IS NULL)
ORDER BY Forms.created desc
LIMIT 20
OFFSET 0;
SELECT (COUNT(*)) AS `count`
FROM forms Forms
INNER JOIN form_fields FormFields ON (
content_value >= '2016-01-04'
AND content_value <= '2016-07-07'
AND FormFieldTypes.identifier = 'date' /* Doesn't belong here?? */
AND Forms.id = (FormFields.form_id)
AND (FormFields.deleted) IS NULL
)
INNER JOIN form_field_types FormFieldTypes ON (
FormFieldTypes.identifier = 'date'
AND FormFieldTypes.id = (FormFields.form_field_type_id)
AND (FormFieldTypes.deleted) IS NULL
)
WHERE (Forms.Company_Id = 'e44f293e-5395-46fa-9d0e-947956a44f4a'
AND (Forms.deleted) IS NULL)
<?php
public function findFormsBetweenTwoDates(Query $query, array $options)
{
$query->matching('FormFields', function (Query $q) use ($options) {
return $q
->where(
[
'content_value >=' => $options['fromDate'],
'content_value <=' => $options['toDate'],
],
['content_value' => 'date']
)
->matching('FormFieldTypes', function (Query $q) {
return $q->where(['FormFieldTypes.identifier' => 'date']);
});
});
}
{
"success": false,
"data": {
"message": "[Exception] Failed calling Cake\\ORM\\Query::jsonSerialize()\n#0 /var/www/apacta-2/vendor/cakephp/cakephp/src/View/JsonView.php(0): json_encode()\n#1 /var/www/apacta-2/vendor/cakephp/cakephp/src/View/SerializedView.php(89): Cake\\View\\JsonView->_serialize(Array)\n#2 /var/www/apacta-2/vendor/cakephp/cakephp/src/View/JsonView.php(107): Cake\\View\\SerializedView->render('error500', 'error')\n#3 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/ExceptionRenderer.php(356): Cake\\View\\JsonView->render('error500', 'error')\n#4 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/ExceptionRenderer.php(335): Cake\\Error\\ExceptionRenderer->_outputMessageSafe('error500')\n#5 /var/www/apacta-2/vendor/friendsofcake/crud/src/Error/ExceptionRenderer.php(76): Cake\\Error\\ExceptionRenderer->_outputMessage('pdo_error')\n#6 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/ExceptionRenderer.php(192): Crud\\Error\\ExceptionRenderer->_outputMessage('pdo_error')\n#7 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/ErrorHandler.php(144): Cake\\Error\\ExceptionRenderer->render()\n#8 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/BaseErrorHandler.php(179): Cake\\Error\\ErrorHandler->_displayException(Object(PDOException))\n#9 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/BaseErrorHandler.php(163): Cake\\Error\\BaseErrorHandler->handleException(Object(PDOException))\n#10 [internal function]: Cake\\Error\\BaseErrorHandler->wrapAndHandleException(Object(PDOException))\n#11 {main}",
"url": "/api/v1/forms?extended=true&amp;include=Products&amp;sort=Forms.created&amp;direction=desc&amp;date_from=2016-01-04&amp;date_to=2016-07-07",
"code": 500,
"exception": {
"class": "Cake\\Error\\FatalErrorException",
"code": 500,
"message": "[Exception] Failed calling Cake\\ORM\\Query::jsonSerialize()\n#0 /var/www/apacta-2/vendor/cakephp/cakephp/src/View/JsonView.php(0): json_encode()\n#1 /var/www/apacta-2/vendor/cakephp/cakephp/src/View/SerializedView.php(89): Cake\\View\\JsonView->_serialize(Array)\n#2 /var/www/apacta-2/vendor/cakephp/cakephp/src/View/JsonView.php(107): Cake\\View\\SerializedView->render('error500', 'error')\n#3 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/ExceptionRenderer.php(356): Cake\\View\\JsonView->render('error500', 'error')\n#4 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/ExceptionRenderer.php(335): Cake\\Error\\ExceptionRenderer->_outputMessageSafe('error500')\n#5 /var/www/apacta-2/vendor/friendsofcake/crud/src/Error/ExceptionRenderer.php(76): Cake\\Error\\ExceptionRenderer->_outputMessage('pdo_error')\n#6 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/ExceptionRenderer.php(192): Crud\\Error\\ExceptionRenderer->_outputMessage('pdo_error')\n#7 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/ErrorHandler.php(144): Cake\\Error\\ExceptionRenderer->render()\n#8 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/BaseErrorHandler.php(179): Cake\\Error\\ErrorHandler->_displayException(Object(PDOException))\n#9 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/BaseErrorHandler.php(163): Cake\\Error\\BaseErrorHandler->handleException(Object(PDOException))\n#10 [internal function]: Cake\\Error\\BaseErrorHandler->wrapAndHandleException(Object(PDOException))\n#11 {main}"
},
"trace": [
{
"file": "/var/www/apacta-2/vendor/cakephp/cakephp/src/Error/BaseErrorHandler.php",
"line": 126,
"function": "handleFatalError",
"class": "Cake\\Error\\BaseErrorHandler",
"type": "->",
"args": [
256,
"[Exception] Failed calling Cake\\ORM\\Query::jsonSerialize()\n#0 /var/www/apacta-2/vendor/cakephp/cakephp/src/View/JsonView.php(0): json_encode()\n#1 /var/www/apacta-2/vendor/cakephp/cakephp/src/View/SerializedView.php(89): Cake\\View\\JsonView->_serialize(Array)\n#2 /var/www/apacta-2/vendor/cakephp/cakephp/src/View/JsonView.php(107): Cake\\View\\SerializedView->render('error500', 'error')\n#3 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/ExceptionRenderer.php(356): Cake\\View\\JsonView->render('error500', 'error')\n#4 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/ExceptionRenderer.php(335): Cake\\Error\\ExceptionRenderer->_outputMessageSafe('error500')\n#5 /var/www/apacta-2/vendor/friendsofcake/crud/src/Error/ExceptionRenderer.php(76): Cake\\Error\\ExceptionRenderer->_outputMessage('pdo_error')\n#6 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/ExceptionRenderer.php(192): Crud\\Error\\ExceptionRenderer->_outputMessage('pdo_error')\n#7 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/ErrorHandler.php(144): Cake\\Error\\ExceptionRenderer->render()\n#8 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/BaseErrorHandler.php(179): Cake\\Error\\ErrorHandler->_displayException(Object(PDOException))\n#9 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/BaseErrorHandler.php(163): Cake\\Error\\BaseErrorHandler->handleException(Object(PDOException))\n#10 [internal function]: Cake\\Error\\BaseErrorHandler->wrapAndHandleException(Object(PDOException))\n#11 {main}",
"/var/www/apacta-2/vendor/cakephp/cakephp/src/Error/ErrorHandler.php",
156
]
},
{
"file": "/var/www/apacta-2/vendor/cakephp/cakephp/src/Error/ErrorHandler.php",
"line": 156,
"function": "trigger_error",
"args": [
"[Exception] Failed calling Cake\\ORM\\Query::jsonSerialize()\n#0 /var/www/apacta-2/vendor/cakephp/cakephp/src/View/JsonView.php(0): json_encode()\n#1 /var/www/apacta-2/vendor/cakephp/cakephp/src/View/SerializedView.php(89): Cake\\View\\JsonView->_serialize(Array)\n#2 /var/www/apacta-2/vendor/cakephp/cakephp/src/View/JsonView.php(107): Cake\\View\\SerializedView->render('error500', 'error')\n#3 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/ExceptionRenderer.php(356): Cake\\View\\JsonView->render('error500', 'error')\n#4 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/ExceptionRenderer.php(335): Cake\\Error\\ExceptionRenderer->_outputMessageSafe('error500')\n#5 /var/www/apacta-2/vendor/friendsofcake/crud/src/Error/ExceptionRenderer.php(76): Cake\\Error\\ExceptionRenderer->_outputMessage('pdo_error')\n#6 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/ExceptionRenderer.php(192): Crud\\Error\\ExceptionRenderer->_outputMessage('pdo_error')\n#7 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/ErrorHandler.php(144): Cake\\Error\\ExceptionRenderer->render()\n#8 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/BaseErrorHandler.php(179): Cake\\Error\\ErrorHandler->_displayException(Object(PDOException))\n#9 /var/www/apacta-2/vendor/cakephp/cakephp/src/Error/BaseErrorHandler.php(163): Cake\\Error\\BaseErrorHandler->handleException(Object(PDOException))\n#10 [internal function]: Cake\\Error\\BaseErrorHandler->wrapAndHandleException(Object(PDOException))\n#11 {main}",
256
]
},
{
"file": "/var/www/apacta-2/vendor/cakephp/cakephp/src/Error/BaseErrorHandler.php",
"line": 179,
"function": "_displayException",
"class": "Cake\\Error\\ErrorHandler",
"type": "->",
"args": [
{
"errorInfo": [
"42S22",
1054,
"Unknown column 'FormFieldTypes.identifier' in 'on clause'"
],
"queryString": "SELECT (COUNT(*)) AS `count` FROM forms Forms INNER JOIN form_fields FormFields ON (content_value >= :c0 AND content_value <= :c1 AND FormFieldTypes.identifier = :c2 AND Forms.id = (FormFields.form_id) AND (FormFields.deleted) IS NULL) INNER JOIN form_field_types FormFieldTypes ON (FormFieldTypes.identifier = :c3 AND FormFieldTypes.id = (FormFields.form_field_type_id) AND (FormFieldTypes.deleted) IS NULL) WHERE (Forms.Company_Id = :c4 AND (Forms.deleted) IS NULL)"
}
]
},
{
"file": "/var/www/apacta-2/vendor/cakephp/cakephp/src/Error/BaseErrorHandler.php",
"line": 163,
"function": "handleException",
"class": "Cake\\Error\\BaseErrorHandler",
"type": "->",
"args": [
{
"errorInfo": [
"42S22",
1054,
"Unknown column 'FormFieldTypes.identifier' in 'on clause'"
],
"queryString": "SELECT (COUNT(*)) AS `count` FROM forms Forms INNER JOIN form_fields FormFields ON (content_value >= :c0 AND content_value <= :c1 AND FormFieldTypes.identifier = :c2 AND Forms.id = (FormFields.form_id) AND (FormFields.deleted) IS NULL) INNER JOIN form_field_types FormFieldTypes ON (FormFieldTypes.identifier = :c3 AND FormFieldTypes.id = (FormFields.form_field_type_id) AND (FormFieldTypes.deleted) IS NULL) WHERE (Forms.Company_Id = :c4 AND (Forms.deleted) IS NULL)"
}
]
},
{
"function": "wrapAndHandleException",
"class": "Cake\\Error\\BaseErrorHandler",
"type": "->",
"args": [
{
"errorInfo": [
"42S22",
1054,
"Unknown column 'FormFieldTypes.identifier' in 'on clause'"
],
"queryString": "SELECT (COUNT(*)) AS `count` FROM forms Forms INNER JOIN form_fields FormFields ON (content_value >= :c0 AND content_value <= :c1 AND FormFieldTypes.identifier = :c2 AND Forms.id = (FormFields.form_id) AND (FormFields.deleted) IS NULL) INNER JOIN form_field_types FormFieldTypes ON (FormFieldTypes.identifier = :c3 AND FormFieldTypes.id = (FormFields.form_field_type_id) AND (FormFieldTypes.deleted) IS NULL) WHERE (Forms.Company_Id = :c4 AND (Forms.deleted) IS NULL)"
}
],
"file": "[internal]",
"line": "??"
}
]
},
"queryLog": {
"default": [
//
// PRIOR STUFF REMOVED
//
{
"query": "SELECT Forms.id AS `Forms__id`, Forms.created_by_id AS `Forms__created_by_id`, Forms.company_id AS `Forms__company_id`, Forms.project_id AS `Forms__project_id`, Forms.form_template_id AS `Forms__form_template_id`, Forms.created AS `Forms__created`, Forms.modified AS `Forms__modified`, Forms.deleted AS `Forms__deleted`, FormFields.id AS `FormFields__id`, FormFields.created_by_id AS `FormFields__created_by_id`, FormFields.form_id AS `FormFields__form_id`, FormFields.form_field_type_id AS `FormFields__form_field_type_id`, FormFields.form_template_field_id AS `FormFields__form_template_field_id`, FormFields.file_id AS `FormFields__file_id`, FormFields.content_value AS `FormFields__content_value`, FormFields.comment AS `FormFields__comment`, FormFields.placement AS `FormFields__placement`, FormFields.created AS `FormFields__created`, FormFields.modified AS `FormFields__modified`, FormFields.deleted AS `FormFields__deleted`, FormFieldTypes.id AS `FormFieldTypes__id`, FormFieldTypes.created_by_id AS `FormFieldTypes__created_by_id`, FormFieldTypes.name AS `FormFieldTypes__name`, FormFieldTypes.identifier AS `FormFieldTypes__identifier`, FormFieldTypes.description AS `FormFieldTypes__description`, FormFieldTypes.deleted AS `FormFieldTypes__deleted`, FormFieldTypes.created AS `FormFieldTypes__created`, FormFieldTypes.modified AS `FormFieldTypes__modified` FROM forms Forms INNER JOIN form_fields FormFields ON (content_value >= '2016-01-04' AND content_value <= '2016-07-07' AND Forms.id = (FormFields.form_id) AND (FormFields.deleted) IS NULL) INNER JOIN form_field_types FormFieldTypes ON (FormFieldTypes.identifier = 'date' AND FormFieldTypes.id = (FormFields.form_field_type_id) AND (FormFieldTypes.deleted) IS NULL) WHERE (Forms.Company_Id = 'e44f293e-5395-46fa-9d0e-947956a44f4a' AND (Forms.deleted) IS NULL) ORDER BY Forms.created desc LIMIT 20 OFFSET 0",
"took": 0,
"params": {
"c0": "2016-01-04",
"c1": "2016-07-07",
"c2": "date",
"c3": "e44f293e-5395-46fa-9d0e-947956a44f4a"
},
"numRows": 20,
"error": null
},
{
"query": "SELECT (COUNT(*)) AS `count` FROM forms Forms INNER JOIN form_fields FormFields ON (content_value >= '2016-01-04' AND content_value <= '2016-07-07' AND FormFieldTypes.identifier = 'date' AND Forms.id = (FormFields.form_id) AND (FormFields.deleted) IS NULL) INNER JOIN form_field_types FormFieldTypes ON (FormFieldTypes.identifier = 'date' AND FormFieldTypes.id = (FormFields.form_field_type_id) AND (FormFieldTypes.deleted) IS NULL) WHERE (Forms.Company_Id = 'e44f293e-5395-46fa-9d0e-947956a44f4a' AND (Forms.deleted) IS NULL)",
"took": 0,
"params": {
"c0": "2016-01-04",
"c1": "2016-07-07",
"c2": "date",
"c3": "date",
"c4": "e44f293e-5395-46fa-9d0e-947956a44f4a"
},
"numRows": 0,
"error": {
"errorInfo": [
"42S22",
1054,
"Unknown column 'FormFieldTypes.identifier' in 'on clause'"
],
"queryString": "SELECT (COUNT(*)) AS `count` FROM forms Forms INNER JOIN form_fields FormFields ON (content_value >= :c0 AND content_value <= :c1 AND FormFieldTypes.identifier = :c2 AND Forms.id = (FormFields.form_id) AND (FormFields.deleted) IS NULL) INNER JOIN form_field_types FormFieldTypes ON (FormFieldTypes.identifier = :c3 AND FormFieldTypes.id = (FormFields.form_field_type_id) AND (FormFieldTypes.deleted) IS NULL) WHERE (Forms.Company_Id = :c4 AND (Forms.deleted) IS NULL)"
}
},
{
"query": "SELECT (COUNT(*)) AS `count` FROM forms Forms INNER JOIN form_fields FormFields ON (content_value >= '2016-01-04' AND content_value <= '2016-07-07' AND FormFieldTypes.identifier = 'date' AND FormFieldTypes.identifier = 'date' AND Forms.id = (FormFields.form_id) AND (FormFields.deleted) IS NULL) INNER JOIN form_field_types FormFieldTypes ON (FormFieldTypes.identifier = 'date' AND FormFieldTypes.identifier = 'date' AND FormFieldTypes.id = (FormFields.form_field_type_id) AND (FormFieldTypes.deleted) IS NULL) WHERE (Forms.Company_Id = 'e44f293e-5395-46fa-9d0e-947956a44f4a' AND (Forms.deleted) IS NULL)",
"took": 0,
"params": {
"c0": "2016-01-04",
"c1": "2016-07-07",
"c2": "date",
"c3": "date",
"c4": "date",
"c5": "date",
"c6": "e44f293e-5395-46fa-9d0e-947956a44f4a"
},
"numRows": 0,
"error": {
"errorInfo": [
"42S22",
1054,
"Unknown column 'FormFieldTypes.identifier' in 'on clause'"
],
"queryString": "SELECT (COUNT(*)) AS `count` FROM forms Forms INNER JOIN form_fields FormFields ON (content_value >= :c0 AND content_value <= :c1 AND FormFieldTypes.identifier = :c2 AND FormFieldTypes.identifier = :c3 AND Forms.id = (FormFields.form_id) AND (FormFields.deleted) IS NULL) INNER JOIN form_field_types FormFieldTypes ON (FormFieldTypes.identifier = :c4 AND FormFieldTypes.identifier = :c5 AND FormFieldTypes.id = (FormFields.form_field_type_id) AND (FormFieldTypes.deleted) IS NULL) WHERE (Forms.Company_Id = :c6 AND (Forms.deleted) IS NULL)"
}
},
{
"query": "SELECT (COUNT(*)) AS `count` FROM forms Forms INNER JOIN form_fields FormFields ON (content_value >= '2016-01-04' AND content_value <= '2016-07-07' AND FormFieldTypes.identifier = 'date' AND FormFieldTypes.identifier = 'date' AND FormFieldTypes.identifier = 'date' AND Forms.id = (FormFields.form_id) AND (FormFields.deleted) IS NULL) INNER JOIN form_field_types FormFieldTypes ON (FormFieldTypes.identifier = 'date' AND FormFieldTypes.identifier = 'date' AND FormFieldTypes.identifier = 'date' AND FormFieldTypes.id = (FormFields.form_field_type_id) AND (FormFieldTypes.deleted) IS NULL) WHERE (Forms.Company_Id = 'e44f293e-5395-46fa-9d0e-947956a44f4a' AND (Forms.deleted) IS NULL)",
"took": 0,
"params": {
"c0": "2016-01-04",
"c1": "2016-07-07",
"c2": "date",
"c3": "date",
"c4": "date",
"c5": "date",
"c6": "date",
"c7": "date",
"c8": "e44f293e-5395-46fa-9d0e-947956a44f4a"
},
"numRows": 0,
"error": {
"errorInfo": [
"42S22",
1054,
"Unknown column 'FormFieldTypes.identifier' in 'on clause'"
],
"queryString": "SELECT (COUNT(*)) AS `count` FROM forms Forms INNER JOIN form_fields FormFields ON (content_value >= :c0 AND content_value <= :c1 AND FormFieldTypes.identifier = :c2 AND FormFieldTypes.identifier = :c3 AND FormFieldTypes.identifier = :c4 AND Forms.id = (FormFields.form_id) AND (FormFields.deleted) IS NULL) INNER JOIN form_field_types FormFieldTypes ON (FormFieldTypes.identifier = :c5 AND FormFieldTypes.identifier = :c6 AND FormFieldTypes.identifier = :c7 AND FormFieldTypes.id = (FormFields.form_field_type_id) AND (FormFieldTypes.deleted) IS NULL) WHERE (Forms.Company_Id = :c8 AND (Forms.deleted) IS NULL)"
}
}
]
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment