File: /home/petsclubcc/magento/vendor/magento/module-eav/Model/Entity/Attribute/Backend/ArrayBackend.php
<?php
/**
* Copyright © 2016 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Eav\Model\Entity\Attribute\Backend;
/**
* Backend model for attribute with multiple values
*
* @author Magento Core Team <core@magentocommerce.com>
*/
class ArrayBackend extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend
{
/**
* Prepare data for save
*
* @param \Magento\Framework\DataObject $object
* @return \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend
*/
public function beforeSave($object)
{
$attributeCode = $this->getAttribute()->getAttributeCode();
$data = $object->getData($attributeCode);
if (is_array($data)) {
$data = array_filter($data);
$object->setData($attributeCode, implode(',', $data));
}
return parent::beforeSave($object);
}
/**
* Implode data for validation
*
* @param \Magento\Catalog\Model\Product $object
* @return bool
*/
public function validate($object)
{
$attributeCode = $this->getAttribute()->getAttributeCode();
$data = $object->getData($attributeCode);
if (is_array($data)) {
$object->setData($attributeCode, implode(',', array_filter($data)));
}
return parent::validate($object);
}
}