Code Context <?php if($product->gallery_id != null):?>
<?= $this->Html->image('/app/assets/gallery/'.$product->gallery->photo->filename, ['style'=> 'display: block; margin-left: auto; margin-right: auto; width: 60%;']) ?>
<?php endif; ?>
$templateFile =
'/home/clintoncountyhistorical.org/public_html/templates/Shop/index_by_category.php'
$dataForView = [
'products' => object(Cake\ORM\Query) id:0 {
'(help)' => 'This is a Query object, to get the results execute or iterate it.'
'sql' => 'SELECT Products.product_id AS Products__product_id, Products.category_id AS Products__category_id, Products.name AS Products__name, Products.description AS Products__description, Products.manufacturer_id AS Products__manufacturer_id, Products.product_category_id AS Products__product_category_id, Products.model AS Products__model, Products.year AS Products__year, Products.gallery_id AS Products__gallery_id, Products.po_id AS Products__po_id, Products.inv_id AS Products__inv_id, Products.sold AS Products__sold, Products.mfc_prd_id AS Products__mfc_prd_id, Products.sku AS Products__sku, Products.upc AS Products__upc, Products.serial AS Products__serial, Products.quantity_ordered AS Products__quantity_ordered, Products.quantity_backordered AS Products__quantity_backordered, Products.quantity_onhand AS Products__quantity_onhand, Products.quantity_allocated AS Products__quantity_allocated, Products.quantity_sold AS Products__quantity_sold, Products.bin_id AS Products__bin_id, Products.salePrice AS Products__salePrice, Products.purchasePrice AS Products__purchasePrice, Galleries.gallery_id AS Galleries__gallery_id, Galleries.name AS Galleries__name, Galleries.description AS Galleries__description, Galleries.hidden AS Galleries__hidden, Galleries.primary_photo_id AS Galleries__primary_photo_id, Galleries.deleted AS Galleries__deleted, Photos.photo_id AS Photos__photo_id, Photos.uuid AS Photos__uuid, Photos.title AS Photos__title, Photos.description AS Photos__description, Photos.date AS Photos__date, Photos.filename AS Photos__filename, Photos.hidden AS Photos__hidden, Photos.deleted AS Photos__deleted FROM products Products LEFT JOIN galleries Galleries ON Galleries.gallery_id = (Products.gallery_id) LEFT JOIN photos Photos ON Photos.photo_id = (Galleries.primary_photo_id) WHERE Products.product_category_id = :c0'
'params' => [
':c0' => [
'' => [maximum depth reached],
],
]
'defaultTypes' => [
'Products__product_id' => 'integer',
'Products.product_id' => 'integer',
'product_id' => 'integer',
'Products__category_id' => 'integer',
'Products.category_id' => 'integer',
'category_id' => 'integer',
'Products__name' => 'string',
'Products.name' => 'string',
'name' => 'string',
'Products__description' => 'text',
'Products.description' => 'text',
'description' => 'text',
'Products__manufacturer_id' => 'integer',
'Products.manufacturer_id' => 'integer',
'manufacturer_id' => 'integer',
'Products__product_category_id' => 'integer',
'Products.product_category_id' => 'integer',
'product_category_id' => 'integer',
'Products__model' => 'string',
'Products.model' => 'string',
'model' => 'string',
'Products__year' => 'string',
'Products.year' => 'string',
'year' => 'string',
'Products__gallery_id' => 'integer',
'Products.gallery_id' => 'integer',
'gallery_id' => 'integer',
'Products__po_id' => 'integer',
'Products.po_id' => 'integer',
'po_id' => 'integer',
'Products__inv_id' => 'integer',
'Products.inv_id' => 'integer',
'inv_id' => 'integer',
'Products__sold' => 'boolean',
'Products.sold' => 'boolean',
'sold' => 'boolean',
'Products__mfc_prd_id' => 'string',
'Products.mfc_prd_id' => 'string',
'mfc_prd_id' => 'string',
'Products__sku' => 'string',
'Products.sku' => 'string',
'sku' => 'string',
'Products__upc' => 'string',
'Products.upc' => 'string',
'upc' => 'string',
'Products__serial' => 'string',
'Products.serial' => 'string',
'serial' => 'string',
'Products__quantity_ordered' => 'integer',
'Products.quantity_ordered' => 'integer',
'quantity_ordered' => 'integer',
'Products__quantity_backordered' => 'integer',
'Products.quantity_backordered' => 'integer',
'quantity_backordered' => 'integer',
'Products__quantity_onhand' => 'integer',
'Products.quantity_onhand' => 'integer',
'quantity_onhand' => 'integer',
'Products__quantity_allocated' => 'integer',
'Products.quantity_allocated' => 'integer',
'quantity_allocated' => 'integer',
'Products__quantity_sold' => 'integer',
'Products.quantity_sold' => 'integer',
'quantity_sold' => 'integer',
'Products__bin_id' => 'integer',
'Products.bin_id' => 'integer',
'bin_id' => 'integer',
'Products__salePrice' => 'float',
'Products.salePrice' => 'float',
'salePrice' => 'float',
'Products__purchasePrice' => 'float',
'Products.purchasePrice' => 'float',
'purchasePrice' => 'float',
'Galleries__gallery_id' => 'integer',
'Galleries.gallery_id' => 'integer',
'Galleries__name' => 'string',
'Galleries.name' => 'string',
'Galleries__description' => 'text',
'Galleries.description' => 'text',
'Galleries__hidden' => 'boolean',
'Galleries.hidden' => 'boolean',
'hidden' => 'boolean',
'Galleries__primary_photo_id' => 'integer',
'Galleries.primary_photo_id' => 'integer',
'primary_photo_id' => 'integer',
'Galleries__deleted' => 'boolean',
'Galleries.deleted' => 'boolean',
'deleted' => 'boolean',
'Photos__photo_id' => 'integer',
'Photos.photo_id' => 'integer',
'photo_id' => 'integer',
'Photos__uuid' => 'binaryuuid',
'Photos.uuid' => 'binaryuuid',
'uuid' => 'binaryuuid',
'Photos__title' => 'string',
'Photos.title' => 'string',
'title' => 'string',
'Photos__description' => 'text',
'Photos.description' => 'text',
'Photos__date' => 'date',
'Photos.date' => 'date',
'date' => 'date',
'Photos__filename' => 'string',
'Photos.filename' => 'string',
'filename' => 'string',
'Photos__hidden' => 'boolean',
'Photos.hidden' => 'boolean',
'Photos__deleted' => 'boolean',
'Photos.deleted' => 'boolean',
]
'decorators' => (int) 0
'executed' => true
'hydrate' => true
'buffered' => true
'formatters' => (int) 0
'mapReducers' => (int) 0
'contain' => [
'Galleries' => [
'' => [maximum depth reached],
],
]
'matching' => [
]
'extraOptions' => [
]
'repository' => object(App\Model\Table\ProductsTable) id:1 {
}
protected _hasFields => false
protected _autoFields => null
protected _hydrate => true
protected _counter => null
protected _eagerLoader => object(Cake\ORM\EagerLoader) id:2 {
}
protected _beforeFindFired => true
protected _resultsCount => null
protected _connection => object(Cake\Database\Connection) id:3 {
}
protected _type => 'select'
protected _parts => [
'' => [maximum depth reached],
]
protected _selectParts => [
'' => [maximum depth reached],
]
protected _updateParts => [
'' => [maximum depth reached],
]
protected _deleteParts => [
'' => [maximum depth reached],
]
protected _insertParts => [
'' => [maximum depth reached],
]
protected _dirty => false
protected _resultDecorators => [
'' => [maximum depth reached],
]
protected _iterator => object(Cake\Database\Statement\CallbackStatement) id:4 {
}
protected _valueBinder => object(Cake\Database\ValueBinder) id:5 {
}
protected _functionsBuilder => null
protected _useBufferedResults => true
protected _selectTypeMap => object(Cake\Database\TypeMap) id:6 {
}
protected typeCastEnabled => true
protected _typeMap => object(Cake\Database\TypeMap) id:7 {
}
protected _repository => object(App\Model\Table\ProductsTable) id: 1 {}
protected _results => object(Cake\ORM\ResultSet) id:8 {
}
protected _mapReduce => [
'' => [maximum depth reached],
]
protected _formatters => [
'' => [maximum depth reached],
]
protected _cache => null
protected _options => [
'' => [maximum depth reached],
]
protected _eagerLoaded => false
},
'product_categories' => object(Cake\ORM\Query) id:9 {
'(help)' => 'This is a Query object, to get the results execute or iterate it.'
'sql' => 'SELECT ProductCategories.product_category_id AS ProductCategories__product_category_id, ProductCategories.name AS ProductCategories__name, ProductCategories.description AS ProductCategories__description, ProductCategories.parent_pc_id AS ProductCategories__parent_pc_id FROM product_categories ProductCategories ORDER BY name'
'params' => [
]
'defaultTypes' => [
'ProductCategories__product_category_id' => 'integer',
'ProductCategories.product_category_id' => 'integer',
'product_category_id' => 'integer',
'ProductCategories__name' => 'string',
'ProductCategories.name' => 'string',
'name' => 'string',
'ProductCategories__description' => 'text',
'ProductCategories.description' => 'text',
'description' => 'text',
'ProductCategories__parent_pc_id' => 'integer',
'ProductCategories.parent_pc_id' => 'integer',
'parent_pc_id' => 'integer',
]
'decorators' => (int) 0
'executed' => true
'hydrate' => true
'buffered' => true
'formatters' => (int) 0
'mapReducers' => (int) 0
'contain' => [
]
'matching' => [
]
'extraOptions' => [
]
'repository' => object(Cake\ORM\Table) id:10 {
}
protected _hasFields => false
protected _autoFields => null
protected _hydrate => true
protected _counter => null
protected _eagerLoader => object(Cake\ORM\EagerLoader) id:11 {
}
protected _beforeFindFired => true
protected _resultsCount => null
protected _connection => object(Cake\Database\Connection) id: 3 {}
protected _type => 'select'
protected _parts => [
'' => [maximum depth reached],
]
protected _selectParts => [
'' => [maximum depth reached],
]
protected _updateParts => [
'' => [maximum depth reached],
]
protected _deleteParts => [
'' => [maximum depth reached],
]
protected _insertParts => [
'' => [maximum depth reached],
]
protected _dirty => false
protected _resultDecorators => [
'' => [maximum depth reached],
]
protected _iterator => object(Cake\Database\Statement\CallbackStatement) id:12 {
}
protected _valueBinder => object(Cake\Database\ValueBinder) id:13 {
}
protected _functionsBuilder => null
protected _useBufferedResults => true
protected _selectTypeMap => object(Cake\Database\TypeMap) id:14 {
}
protected typeCastEnabled => true
protected _typeMap => object(Cake\Database\TypeMap) id:15 {
}
protected _repository => object(Cake\ORM\Table) id: 10 {}
protected _results => object(Cake\ORM\ResultSet) id:16 {
}
protected _mapReduce => [
'' => [maximum depth reached],
]
protected _formatters => [
'' => [maximum depth reached],
]
protected _cache => null
protected _options => [
'' => [maximum depth reached],
]
protected _eagerLoaded => false
},
'photos' => object(Cake\ORM\Query) id:17 {
'(help)' => 'This is a Query object, to get the results execute or iterate it.'
'sql' => 'SELECT Photos.photo_id AS Photos__photo_id, Photos.uuid AS Photos__uuid, Photos.title AS Photos__title, Photos.description AS Photos__description, Photos.date AS Photos__date, Photos.filename AS Photos__filename, Photos.hidden AS Photos__hidden, Photos.deleted AS Photos__deleted FROM photos Photos'
'params' => [
]
'defaultTypes' => [
'Photos__photo_id' => 'integer',
'Photos.photo_id' => 'integer',
'photo_id' => 'integer',
'Photos__uuid' => 'binaryuuid',
'Photos.uuid' => 'binaryuuid',
'uuid' => 'binaryuuid',
'Photos__title' => 'string',
'Photos.title' => 'string',
'title' => 'string',
'Photos__description' => 'text',
'Photos.description' => 'text',
'description' => 'text',
'Photos__date' => 'date',
'Photos.date' => 'date',
'date' => 'date',
'Photos__filename' => 'string',
'Photos.filename' => 'string',
'filename' => 'string',
'Photos__hidden' => 'boolean',
'Photos.hidden' => 'boolean',
'hidden' => 'boolean',
'Photos__deleted' => 'boolean',
'Photos.deleted' => 'boolean',
'deleted' => 'boolean',
]
'decorators' => (int) 0
'executed' => false
'hydrate' => true
'buffered' => true
'formatters' => (int) 0
'mapReducers' => (int) 0
'contain' => [
]
'matching' => [
]
'extraOptions' => [
]
'repository' => object(App\Model\Table\PhotosTable) id:18 {
}
protected _hasFields => false
protected _autoFields => null
protected _hydrate => true
protected _counter => null
protected _eagerLoader => object(Cake\ORM\EagerLoader) id:19 {
}
protected _beforeFindFired => true
protected _resultsCount => null
protected _connection => object(Cake\Database\Connection) id: 3 {}
protected _type => 'select'
protected _parts => [
'' => [maximum depth reached],
]
protected _selectParts => [
'' => [maximum depth reached],
]
protected _updateParts => [
'' => [maximum depth reached],
]
protected _deleteParts => [
'' => [maximum depth reached],
]
protected _insertParts => [
'' => [maximum depth reached],
]
protected _dirty => true
protected _resultDecorators => [
'' => [maximum depth reached],
]
protected _iterator => null
protected _valueBinder => object(Cake\Database\ValueBinder) id:20 {
}
protected _functionsBuilder => null
protected _useBufferedResults => true
protected _selectTypeMap => object(Cake\Database\TypeMap) id:21 {
}
protected typeCastEnabled => true
protected _typeMap => object(Cake\Database\TypeMap) id:22 {
}
protected _repository => object(App\Model\Table\PhotosTable) id: 18 {}
protected _results => null
protected _mapReduce => [
'' => [maximum depth reached],
]
protected _formatters => [
'' => [maximum depth reached],
]
protected _cache => null
protected _options => [
'' => [maximum depth reached],
]
protected _eagerLoaded => false
},
]
$bufferLevel = (int) 1
$products = object(Cake\ORM\Query) id:0 {
'(help)' => 'This is a Query object, to get the results execute or iterate it.'
'sql' => 'SELECT Products.product_id AS Products__product_id, Products.category_id AS Products__category_id, Products.name AS Products__name, Products.description AS Products__description, Products.manufacturer_id AS Products__manufacturer_id, Products.product_category_id AS Products__product_category_id, Products.model AS Products__model, Products.year AS Products__year, Products.gallery_id AS Products__gallery_id, Products.po_id AS Products__po_id, Products.inv_id AS Products__inv_id, Products.sold AS Products__sold, Products.mfc_prd_id AS Products__mfc_prd_id, Products.sku AS Products__sku, Products.upc AS Products__upc, Products.serial AS Products__serial, Products.quantity_ordered AS Products__quantity_ordered, Products.quantity_backordered AS Products__quantity_backordered, Products.quantity_onhand AS Products__quantity_onhand, Products.quantity_allocated AS Products__quantity_allocated, Products.quantity_sold AS Products__quantity_sold, Products.bin_id AS Products__bin_id, Products.salePrice AS Products__salePrice, Products.purchasePrice AS Products__purchasePrice, Galleries.gallery_id AS Galleries__gallery_id, Galleries.name AS Galleries__name, Galleries.description AS Galleries__description, Galleries.hidden AS Galleries__hidden, Galleries.primary_photo_id AS Galleries__primary_photo_id, Galleries.deleted AS Galleries__deleted, Photos.photo_id AS Photos__photo_id, Photos.uuid AS Photos__uuid, Photos.title AS Photos__title, Photos.description AS Photos__description, Photos.date AS Photos__date, Photos.filename AS Photos__filename, Photos.hidden AS Photos__hidden, Photos.deleted AS Photos__deleted FROM products Products LEFT JOIN galleries Galleries ON Galleries.gallery_id = (Products.gallery_id) LEFT JOIN photos Photos ON Photos.photo_id = (Galleries.primary_photo_id) WHERE Products.product_category_id = :c0'
'params' => [
':c0' => [
'value' => '1',
'type' => 'integer',
'placeholder' => 'c0',
],
]
'defaultTypes' => [
'Products__product_id' => 'integer',
'Products.product_id' => 'integer',
'product_id' => 'integer',
'Products__category_id' => 'integer',
'Products.category_id' => 'integer',
'category_id' => 'integer',
'Products__name' => 'string',
'Products.name' => 'string',
'name' => 'string',
'Products__description' => 'text',
'Products.description' => 'text',
'description' => 'text',
'Products__manufacturer_id' => 'integer',
'Products.manufacturer_id' => 'integer',
'manufacturer_id' => 'integer',
'Products__product_category_id' => 'integer',
'Products.product_category_id' => 'integer',
'product_category_id' => 'integer',
'Products__model' => 'string',
'Products.model' => 'string',
'model' => 'string',
'Products__year' => 'string',
'Products.year' => 'string',
'year' => 'string',
'Products__gallery_id' => 'integer',
'Products.gallery_id' => 'integer',
'gallery_id' => 'integer',
'Products__po_id' => 'integer',
'Products.po_id' => 'integer',
'po_id' => 'integer',
'Products__inv_id' => 'integer',
'Products.inv_id' => 'integer',
'inv_id' => 'integer',
'Products__sold' => 'boolean',
'Products.sold' => 'boolean',
'sold' => 'boolean',
'Products__mfc_prd_id' => 'string',
'Products.mfc_prd_id' => 'string',
'mfc_prd_id' => 'string',
'Products__sku' => 'string',
'Products.sku' => 'string',
'sku' => 'string',
'Products__upc' => 'string',
'Products.upc' => 'string',
'upc' => 'string',
'Products__serial' => 'string',
'Products.serial' => 'string',
'serial' => 'string',
'Products__quantity_ordered' => 'integer',
'Products.quantity_ordered' => 'integer',
'quantity_ordered' => 'integer',
'Products__quantity_backordered' => 'integer',
'Products.quantity_backordered' => 'integer',
'quantity_backordered' => 'integer',
'Products__quantity_onhand' => 'integer',
'Products.quantity_onhand' => 'integer',
'quantity_onhand' => 'integer',
'Products__quantity_allocated' => 'integer',
'Products.quantity_allocated' => 'integer',
'quantity_allocated' => 'integer',
'Products__quantity_sold' => 'integer',
'Products.quantity_sold' => 'integer',
'quantity_sold' => 'integer',
'Products__bin_id' => 'integer',
'Products.bin_id' => 'integer',
'bin_id' => 'integer',
'Products__salePrice' => 'float',
'Products.salePrice' => 'float',
'salePrice' => 'float',
'Products__purchasePrice' => 'float',
'Products.purchasePrice' => 'float',
'purchasePrice' => 'float',
'Galleries__gallery_id' => 'integer',
'Galleries.gallery_id' => 'integer',
'Galleries__name' => 'string',
'Galleries.name' => 'string',
'Galleries__description' => 'text',
'Galleries.description' => 'text',
'Galleries__hidden' => 'boolean',
'Galleries.hidden' => 'boolean',
'hidden' => 'boolean',
'Galleries__primary_photo_id' => 'integer',
'Galleries.primary_photo_id' => 'integer',
'primary_photo_id' => 'integer',
'Galleries__deleted' => 'boolean',
'Galleries.deleted' => 'boolean',
'deleted' => 'boolean',
'Photos__photo_id' => 'integer',
'Photos.photo_id' => 'integer',
'photo_id' => 'integer',
'Photos__uuid' => 'binaryuuid',
'Photos.uuid' => 'binaryuuid',
'uuid' => 'binaryuuid',
'Photos__title' => 'string',
'Photos.title' => 'string',
'title' => 'string',
'Photos__description' => 'text',
'Photos.description' => 'text',
'Photos__date' => 'date',
'Photos.date' => 'date',
'date' => 'date',
'Photos__filename' => 'string',
'Photos.filename' => 'string',
'filename' => 'string',
'Photos__hidden' => 'boolean',
'Photos.hidden' => 'boolean',
'Photos__deleted' => 'boolean',
'Photos.deleted' => 'boolean',
]
'decorators' => (int) 0
'executed' => true
'hydrate' => true
'buffered' => true
'formatters' => (int) 0
'mapReducers' => (int) 0
'contain' => [
'Galleries' => [
'Photos' => [
'' => [maximum depth reached],
],
],
]
'matching' => [
]
'extraOptions' => [
]
'repository' => object(App\Model\Table\ProductsTable) id:1 {
'registryAlias' => 'Products'
'table' => 'products'
'alias' => 'Products'
'entityClass' => 'App\Model\Entity\Product'
'associations' => [
(int) 0 => 'Manufacturers',
(int) 1 => 'ProductCategories',
(int) 2 => 'Galleries',
]
'behaviors' => [
(int) 0 => 'Timestamp',
]
'defaultConnection' => 'default'
'connectionName' => 'default'
protected _table => 'products'
protected _alias => 'Products'
protected _connection => object(Cake\Database\Connection) id:2 {
}
protected _schema => object(Cake\Database\Schema\TableSchema) id:3 {
}
protected _primaryKey => null
protected _displayField => null
protected _associations => object(Cake\ORM\AssociationCollection) id:4 {
}
protected _behaviors => object(Cake\ORM\BehaviorRegistry) id:5 {
}
protected _entityClass => 'App\Model\Entity\Product'
protected _registryAlias => 'Products'
protected _eventManager => object(Cake\Event\EventManager) id:6 {
}
protected _eventClass => 'Cake\Event\Event'
protected _rulesChecker => null
protected _validatorClass => 'Cake\Validation\Validator'
protected _validators => [
'' => [maximum depth reached],
]
}
protected _hasFields => false
protected _autoFields => null
protected _hydrate => true
protected _counter => null
protected _eagerLoader => object(Cake\ORM\EagerLoader) id:7 {
}
protected _beforeFindFired => true
protected _resultsCount => null
protected _connection => object(Cake\Database\Connection) id: 2 {}
protected _type => 'select'
protected _parts => [
'delete' => true,
'update' => [
'' => [maximum depth reached],
],
'set' => [
'' => [maximum depth reached],
],
'insert' => [
'' => [maximum depth reached],
],
'values' => [
'' => [maximum depth reached],
],
'with' => [
'' => [maximum depth reached],
],
'select' => [
'' => [maximum depth reached],
],
'distinct' => false,
'modifier' => [
'' => [maximum depth reached],
],
'from' => [
'' => [maximum depth reached],
],
'join' => [
'' => [maximum depth reached],
],
'where' => object(Cake\Database\Expression\QueryExpression) id:8 {
},
'group' => [
'' => [maximum depth reached],
],
'having' => null,
'window' => [
'' => [maximum depth reached],
],
'order' => null,
'limit' => null,
'offset' => null,
'union' => [
'' => [maximum depth reached],
],
'epilog' => null,
]
protected _selectParts => [
(int) 0 => 'with',
(int) 1 => 'select',
(int) 2 => 'from',
(int) 3 => 'join',
(int) 4 => 'where',
(int) 5 => 'group',
(int) 6 => 'having',
(int) 7 => 'order',
(int) 8 => 'limit',
(int) 9 => 'offset',
(int) 10 => 'union',
(int) 11 => 'epilog',
]
protected _updateParts => [
(int) 0 => 'with',
(int) 1 => 'update',
(int) 2 => 'set',
(int) 3 => 'where',
(int) 4 => 'epilog',
]
protected _deleteParts => [
(int) 0 => 'with',
(int) 1 => 'delete',
(int) 2 => 'modifier',
(int) 3 => 'from',
(int) 4 => 'where',
(int) 5 => 'epilog',
]
protected _insertParts => [
(int) 0 => 'with',
(int) 1 => 'insert',
(int) 2 => 'values',
(int) 3 => 'epilog',
]
protected _dirty => false
protected _resultDecorators => [
]
protected _iterator => object(Cake\Database\Statement\CallbackStatement) id:9 {
}
protected _valueBinder => object(Cake\Database\ValueBinder) id:10 {
}
protected _functionsBuilder => null
protected _useBufferedResults => true
protected _selectTypeMap => object(Cake\Database\TypeMap) id:11 {
}
protected typeCastEnabled => true
protected _typeMap => object(Cake\Database\TypeMap) id:12 {
}
protected _repository => object(App\Model\Table\ProductsTable) id: 1 {}
protected _results => object(Cake\ORM\ResultSet) id:13 {
}
protected _mapReduce => [
]
protected _formatters => [
]
protected _cache => null
protected _options => [
]
protected _eagerLoaded => false
}
$product_categories = object(Cake\ORM\Query) id:0 {
'(help)' => 'This is a Query object, to get the results execute or iterate it.'
'sql' => 'SELECT ProductCategories.product_category_id AS ProductCategories__product_category_id, ProductCategories.name AS ProductCategories__name, ProductCategories.description AS ProductCategories__description, ProductCategories.parent_pc_id AS ProductCategories__parent_pc_id FROM product_categories ProductCategories ORDER BY name'
'params' => [
]
'defaultTypes' => [
'ProductCategories__product_category_id' => 'integer',
'ProductCategories.product_category_id' => 'integer',
'product_category_id' => 'integer',
'ProductCategories__name' => 'string',
'ProductCategories.name' => 'string',
'name' => 'string',
'ProductCategories__description' => 'text',
'ProductCategories.description' => 'text',
'description' => 'text',
'ProductCategories__parent_pc_id' => 'integer',
'ProductCategories.parent_pc_id' => 'integer',
'parent_pc_id' => 'integer',
]
'decorators' => (int) 0
'executed' => true
'hydrate' => true
'buffered' => true
'formatters' => (int) 0
'mapReducers' => (int) 0
'contain' => [
]
'matching' => [
]
'extraOptions' => [
]
'repository' => object(Cake\ORM\Table) id:1 {
'registryAlias' => 'ProductCategories'
'table' => 'product_categories'
'alias' => 'ProductCategories'
'entityClass' => 'Cake\ORM\Entity'
'associations' => [
]
'behaviors' => [
]
'defaultConnection' => 'default'
'connectionName' => 'default'
protected _table => 'product_categories'
protected _alias => 'ProductCategories'
protected _connection => object(Cake\Database\Connection) id:2 {
}
protected _schema => object(Cake\Database\Schema\TableSchema) id:3 {
}
protected _primaryKey => null
protected _displayField => null
protected _associations => object(Cake\ORM\AssociationCollection) id:4 {
}
protected _behaviors => object(Cake\ORM\BehaviorRegistry) id:5 {
}
protected _entityClass => 'Cake\ORM\Entity'
protected _registryAlias => 'ProductCategories'
protected _eventManager => object(Cake\Event\EventManager) id:6 {
}
protected _eventClass => 'Cake\Event\Event'
protected _rulesChecker => null
protected _validatorClass => 'Cake\Validation\Validator'
protected _validators => [
'' => [maximum depth reached],
]
}
protected _hasFields => false
protected _autoFields => null
protected _hydrate => true
protected _counter => null
protected _eagerLoader => object(Cake\ORM\EagerLoader) id:7 {
}
protected _beforeFindFired => true
protected _resultsCount => null
protected _connection => object(Cake\Database\Connection) id: 2 {}
protected _type => 'select'
protected _parts => [
'delete' => true,
'update' => [
'' => [maximum depth reached],
],
'set' => [
'' => [maximum depth reached],
],
'insert' => [
'' => [maximum depth reached],
],
'values' => [
'' => [maximum depth reached],
],
'with' => [
'' => [maximum depth reached],
],
'select' => [
'' => [maximum depth reached],
],
'distinct' => false,
'modifier' => [
'' => [maximum depth reached],
],
'from' => [
'' => [maximum depth reached],
],
'join' => [
'' => [maximum depth reached],
],
'where' => null,
'group' => [
'' => [maximum depth reached],
],
'having' => null,
'window' => [
'' => [maximum depth reached],
],
'order' => object(Cake\Database\Expression\OrderByExpression) id:8 {
},
'limit' => null,
'offset' => null,
'union' => [
'' => [maximum depth reached],
],
'epilog' => null,
]
protected _selectParts => [
(int) 0 => 'with',
(int) 1 => 'select',
(int) 2 => 'from',
(int) 3 => 'join',
(int) 4 => 'where',
(int) 5 => 'group',
(int) 6 => 'having',
(int) 7 => 'order',
(int) 8 => 'limit',
(int) 9 => 'offset',
(int) 10 => 'union',
(int) 11 => 'epilog',
]
protected _updateParts => [
(int) 0 => 'with',
(int) 1 => 'update',
(int) 2 => 'set',
(int) 3 => 'where',
(int) 4 => 'epilog',
]
protected _deleteParts => [
(int) 0 => 'with',
(int) 1 => 'delete',
(int) 2 => 'modifier',
(int) 3 => 'from',
(int) 4 => 'where',
(int) 5 => 'epilog',
]
protected _insertParts => [
(int) 0 => 'with',
(int) 1 => 'insert',
(int) 2 => 'values',
(int) 3 => 'epilog',
]
protected _dirty => false
protected _resultDecorators => [
]
protected _iterator => object(Cake\Database\Statement\CallbackStatement) id:9 {
}
protected _valueBinder => object(Cake\Database\ValueBinder) id:10 {
}
protected _functionsBuilder => null
protected _useBufferedResults => true
protected _selectTypeMap => object(Cake\Database\TypeMap) id:11 {
}
protected typeCastEnabled => true
protected _typeMap => object(Cake\Database\TypeMap) id:12 {
}
protected _repository => object(Cake\ORM\Table) id: 1 {}
protected _results => object(Cake\ORM\ResultSet) id:13 {
}
protected _mapReduce => [
]
protected _formatters => [
]
protected _cache => null
protected _options => [
]
protected _eagerLoaded => false
}
$photos = object(Cake\ORM\Query) id:0 {
'(help)' => 'This is a Query object, to get the results execute or iterate it.'
'sql' => 'SELECT Photos.photo_id AS Photos__photo_id, Photos.uuid AS Photos__uuid, Photos.title AS Photos__title, Photos.description AS Photos__description, Photos.date AS Photos__date, Photos.filename AS Photos__filename, Photos.hidden AS Photos__hidden, Photos.deleted AS Photos__deleted FROM photos Photos'
'params' => [
]
'defaultTypes' => [
'Photos__photo_id' => 'integer',
'Photos.photo_id' => 'integer',
'photo_id' => 'integer',
'Photos__uuid' => 'binaryuuid',
'Photos.uuid' => 'binaryuuid',
'uuid' => 'binaryuuid',
'Photos__title' => 'string',
'Photos.title' => 'string',
'title' => 'string',
'Photos__description' => 'text',
'Photos.description' => 'text',
'description' => 'text',
'Photos__date' => 'date',
'Photos.date' => 'date',
'date' => 'date',
'Photos__filename' => 'string',
'Photos.filename' => 'string',
'filename' => 'string',
'Photos__hidden' => 'boolean',
'Photos.hidden' => 'boolean',
'hidden' => 'boolean',
'Photos__deleted' => 'boolean',
'Photos.deleted' => 'boolean',
'deleted' => 'boolean',
]
'decorators' => (int) 0
'executed' => false
'hydrate' => true
'buffered' => true
'formatters' => (int) 0
'mapReducers' => (int) 0
'contain' => [
]
'matching' => [
]
'extraOptions' => [
]
'repository' => object(App\Model\Table\PhotosTable) id:1 {
'registryAlias' => 'Photos'
'table' => 'photos'
'alias' => 'Photos'
'entityClass' => 'App\Model\Entity\Photo'
'associations' => [
(int) 0 => 'GalleriesPhotos',
]
'behaviors' => [
(int) 0 => 'Timestamp',
]
'defaultConnection' => 'default'
'connectionName' => 'default'
protected _table => 'photos'
protected _alias => 'Photos'
protected _connection => object(Cake\Database\Connection) id:2 {
}
protected _schema => object(Cake\Database\Schema\TableSchema) id:3 {
}
protected _primaryKey => 'photo_id'
protected _displayField => null
protected _associations => object(Cake\ORM\AssociationCollection) id:4 {
}
protected _behaviors => object(Cake\ORM\BehaviorRegistry) id:5 {
}
protected _entityClass => 'App\Model\Entity\Photo'
protected _registryAlias => 'Photos'
protected _eventManager => object(Cake\Event\EventManager) id:6 {
}
protected _eventClass => 'Cake\Event\Event'
protected _rulesChecker => null
protected _validatorClass => 'Cake\Validation\Validator'
protected _validators => [
'' => [maximum depth reached],
]
}
protected _hasFields => true
protected _autoFields => null
protected _hydrate => true
protected _counter => null
protected _eagerLoader => object(Cake\ORM\EagerLoader) id:7 {
}
protected _beforeFindFired => true
protected _resultsCount => null
protected _connection => object(Cake\Database\Connection) id: 2 {}
protected _type => 'select'
protected _parts => [
'delete' => true,
'update' => [
'' => [maximum depth reached],
],
'set' => [
'' => [maximum depth reached],
],
'insert' => [
'' => [maximum depth reached],
],
'values' => [
'' => [maximum depth reached],
],
'with' => [
'' => [maximum depth reached],
],
'select' => [
'' => [maximum depth reached],
],
'distinct' => false,
'modifier' => [
'' => [maximum depth reached],
],
'from' => [
'' => [maximum depth reached],
],
'join' => [
'' => [maximum depth reached],
],
'where' => null,
'group' => [
'' => [maximum depth reached],
],
'having' => null,
'window' => [
'' => [maximum depth reached],
],
'order' => null,
'limit' => null,
'offset' => null,
'union' => [
'' => [maximum depth reached],
],
'epilog' => null,
]
protected _selectParts => [
(int) 0 => 'with',
(int) 1 => 'select',
(int) 2 => 'from',
(int) 3 => 'join',
(int) 4 => 'where',
(int) 5 => 'group',
(int) 6 => 'having',
(int) 7 => 'order',
(int) 8 => 'limit',
(int) 9 => 'offset',
(int) 10 => 'union',
(int) 11 => 'epilog',
]
protected _updateParts => [
(int) 0 => 'with',
(int) 1 => 'update',
(int) 2 => 'set',
(int) 3 => 'where',
(int) 4 => 'epilog',
]
protected _deleteParts => [
(int) 0 => 'with',
(int) 1 => 'delete',
(int) 2 => 'modifier',
(int) 3 => 'from',
(int) 4 => 'where',
(int) 5 => 'epilog',
]
protected _insertParts => [
(int) 0 => 'with',
(int) 1 => 'insert',
(int) 2 => 'values',
(int) 3 => 'epilog',
]
protected _dirty => true
protected _resultDecorators => [
]
protected _iterator => null
protected _valueBinder => object(Cake\Database\ValueBinder) id:8 {
}
protected _functionsBuilder => null
protected _useBufferedResults => true
protected _selectTypeMap => object(Cake\Database\TypeMap) id:9 {
}
protected typeCastEnabled => true
protected _typeMap => object(Cake\Database\TypeMap) id:10 {
}
protected _repository => object(App\Model\Table\PhotosTable) id: 1 {}
protected _results => null
protected _mapReduce => [
]
protected _formatters => [
]
protected _cache => null
protected _options => [
]
protected _eagerLoaded => false
}
$product_category = object(Cake\ORM\Entity) id:0 {
'product_category_id' => (int) 2
'name' => 'Ornaments'
'description' => ''
'parent_pc_id' => (int) 0
'[new]' => false
'[accessible]' => [
'*' => true,
]
'[dirty]' => [
]
'[original]' => [
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'ProductCategories'
protected _fields => [
'product_category_id' => (int) 2,
'name' => 'Ornaments',
'description' => '',
'parent_pc_id' => (int) 0,
]
protected _original => [
]
protected _hidden => [
]
protected _virtual => [
]
protected _dirty => [
]
protected _accessors => [
'App\Model\Entity\Product' => [
'' => [maximum depth reached],
],
'App\Model\Entity\Gallery' => [
'' => [maximum depth reached],
],
'App\Model\Entity\Photo' => [
'' => [maximum depth reached],
],
]
protected _new => false
protected _errors => [
]
protected _invalid => [
]
protected _accessible => [
'*' => true,
]
protected _registryAlias => 'ProductCategories'
}
$product = object(App\Model\Entity\Product) id:0 {
'product_id' => (int) 3
'category_id' => (int) 0
'name' => 'Clinton County Memories II: The 1940s, 1950s and 1960s'
'description' => 'This heirloom-quality coffee-table book features a glimpse of Clinton County from 1940-1969 with a brief reprise of the early years, through stunning historic photos. In addition to images carefully selected from the archives of our partners, we are thrilled to include photographic memories from readers of the Plattsburgh Press-Republican. '
'manufacturer_id' => (int) 0
'product_category_id' => (int) 1
'model' => 'The Plattsburgh Press-Republican'
'year' => ''
'gallery_id' => (int) 14
'po_id' => (int) 0
'inv_id' => (int) 0
'sold' => false
'mfc_prd_id' => ''
'sku' => ''
'upc' => ''
'serial' => ''
'quantity_ordered' => (int) 0
'quantity_backordered' => (int) 0
'quantity_onhand' => (int) 4
'quantity_allocated' => (int) 0
'quantity_sold' => (int) 0
'bin_id' => (int) 0
'salePrice' => (float) 29.99
'purchasePrice' => (float) 0
'gallery' => object(App\Model\Entity\Gallery) id:1 {
'gallery_id' => (int) 14
'name' => '3-Clinton County Memories II: The 1940s, 1950s and 1960s'
'description' => 'Gallery for Product: ID=3 and Title=Clinton County Memories II: The 1940s, 1950s and 1960s'
'hidden' => false
'primary_photo_id' => (int) 0
'deleted' => true
'photo' => null
'[new]' => false
'[accessible]' => [
'*' => true,
'id' => false,
]
'[dirty]' => [
]
'[original]' => [
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'Galleries'
protected _accessible => [
'' => [maximum depth reached],
]
protected _fields => [
'' => [maximum depth reached],
]
protected _original => [
'' => [maximum depth reached],
]
protected _hidden => [
'' => [maximum depth reached],
]
protected _virtual => [
'' => [maximum depth reached],
]
protected _dirty => [
'' => [maximum depth reached],
]
protected _accessors => [
'' => [maximum depth reached],
]
protected _new => false
protected _errors => [
'' => [maximum depth reached],
]
protected _invalid => [
'' => [maximum depth reached],
]
protected _registryAlias => 'Galleries'
}
'[new]' => false
'[accessible]' => [
'*' => true,
'id' => false,
'slug' => false,
]
'[dirty]' => [
]
'[original]' => [
]
'[virtual]' => [
]
'[hasErrors]' => false
'[errors]' => [
]
'[invalid]' => [
]
'[repository]' => 'Products'
protected _accessible => [
'*' => true,
'id' => false,
'slug' => false,
]
protected _fields => [
'product_id' => (int) 3,
'category_id' => (int) 0,
'name' => 'Clinton County Memories II: The 1940s, 1950s and 1960s',
'description' => 'This heirloom-quality coffee-table book features a glimpse of Clinton County from 1940-1969 with a brief reprise of the early years, through stunning historic photos. In addition to images carefully selected from the archives of our partners, we are thrilled to include photographic memories from readers of the Plattsburgh Press-Republican. ',
'manufacturer_id' => (int) 0,
'product_category_id' => (int) 1,
'model' => 'The Plattsburgh Press-Republican',
'year' => '',
'gallery_id' => (int) 14,
'po_id' => (int) 0,
'inv_id' => (int) 0,
'sold' => false,
'mfc_prd_id' => '',
'sku' => '',
'upc' => '',
'serial' => '',
'quantity_ordered' => (int) 0,
'quantity_backordered' => (int) 0,
'quantity_onhand' => (int) 4,
'quantity_allocated' => (int) 0,
'quantity_sold' => (int) 0,
'bin_id' => (int) 0,
'salePrice' => (float) 29.99,
'purchasePrice' => (float) 0,
'gallery' => object(App\Model\Entity\Gallery) id: 1 {},
]
protected _original => [
]
protected _hidden => [
]
protected _virtual => [
]
protected _dirty => [
]
protected _accessors => [
'App\Model\Entity\Product' => [
'' => [maximum depth reached],
],
'App\Model\Entity\Gallery' => [
'' => [maximum depth reached],
],
'App\Model\Entity\Photo' => [
'' => [maximum depth reached],
],
]
protected _new => false
protected _errors => [
]
protected _invalid => [
]
protected _registryAlias => 'Products'
}
include - ROOT/templates/Shop/index_by_category.php, line 49
Cake\View\View::_evaluate() - CORE/src/View/View.php, line 1176
Cake\View\View::_render() - CORE/src/View/View.php, line 1134
Cake\View\View::render() - CORE/src/View/View.php, line 764
Cake\Controller\Controller::render() - CORE/src/Controller/Controller.php, line 696
Cake\Controller\Controller::invokeAction() - CORE/src/Controller/Controller.php, line 538
Cake\Controller\ControllerFactory::invoke() - CORE/src/Controller/ControllerFactory.php, line 79
Cake\Http\BaseApplication::handle() - CORE/src/Http/BaseApplication.php, line 251
Cake\Http\Runner::handle() - CORE/src/Http/Runner.php, line 77
Cake\Http\Middleware\CsrfProtectionMiddleware::process() - CORE/src/Http/Middleware/CsrfProtectionMiddleware.php, line 146
Cake\Http\Runner::handle() - CORE/src/Http/Runner.php, line 73
Cake\Http\Middleware\BodyParserMiddleware::process() - CORE/src/Http/Middleware/BodyParserMiddleware.php, line 159
Cake\Http\Runner::handle() - CORE/src/Http/Runner.php, line 73
Cake\Routing\Middleware\RoutingMiddleware::process() - CORE/src/Routing/Middleware/RoutingMiddleware.php, line 166
Cake\Http\Runner::handle() - CORE/src/Http/Runner.php, line 73
Cake\Routing\Middleware\AssetMiddleware::process() - CORE/src/Routing/Middleware/AssetMiddleware.php, line 68
Cake\Http\Runner::handle() - CORE/src/Http/Runner.php, line 73