persist() public method

public persist ( Bolt\Storage\QuerySet $queries, $entity )
$queries Bolt\Storage\QuerySet
示例#1
0
文件: SlugType.php 项目: atiarda/bolt
 /**
  * {@inheritdoc}
  */
 public function persist(QuerySet $queries, $entity)
 {
     if ($entity->getSlug() === null) {
         // When no slug value is given, generate a pseudo-random reasonably unique one.
         $entity->setSlug('slug-' . md5(mt_rand()));
     }
     parent::persist($queries, $entity);
 }
示例#2
0
文件: DateType.php 项目: atiarda/bolt
 /**
  * {@inheritdoc}
  */
 public function persist(QuerySet $queries, $entity, EntityManager $em = null)
 {
     $key = $this->mapping['fieldname'];
     $value = $entity->get($key);
     if (!$value instanceof \DateTime && $value !== null) {
         $value = new Carbon($value);
         $value::setToStringFormat('Y-m-d');
         $entity->set($key, $value);
     }
     parent::persist($queries, $entity, $em);
 }
示例#3
0
文件: TextType.php 项目: nbehier/bolt
 /**
  * {@inheritdoc}
  */
 public function persist(QuerySet $queries, $entity)
 {
     $key = $this->mapping['fieldname'];
     $value = $entity->get($key);
     // Only sanitize when type is string, and not when the name is one of the Bolt-system ones.
     // Finally, we skip this if the value is empty-ish, e.g. '' or `null`.
     if ($this->mapping['type'] === 'string' && !in_array($key, ['username', 'status']) && !empty($value)) {
         $entity->set($key, $this->getSanitiser()->sanitise($value));
     }
     parent::persist($queries, $entity);
 }
示例#4
0
文件: TextType.php 项目: bolt/bolt
 /**
  * {@inheritdoc}
  */
 public function persist(QuerySet $queries, $entity)
 {
     $key = $this->mapping['fieldname'];
     $value = $entity->get($key);
     // Note: The following section is commented out, because it was
     // sanitising fields when not desired. See #5789, for details.
     // Only sanitize when type is string, and not when the name is one of the Bolt-system ones.
     // Finally, we skip this if the value is empty-ish, e.g. '' or `null`.
     // if ($this->mapping['type'] === 'string' && !in_array($key, ['username', 'status']) && !empty($value)) {
     //     $entity->set($key, $this->getSanitiser()->sanitise($value));
     // }
     parent::persist($queries, $entity);
 }
示例#5
0
 /**
  * {@inheritdoc}
  */
 public function persist(QuerySet $queries, $entity, EntityManager $em = null)
 {
     $key = $this->mapping['fieldname'];
     $value = $entity->get($key);
     if ($value !== null) {
         $value = $this->isJson($value) ? json_decode($value, true) : $value;
         // Remove elements that are not important for storage.
         foreach ($value as &$v) {
             unset($v['id']);
             unset($v['order']);
             unset($v['progress']);
             unset($v['element']);
         }
     }
     $entity->set($key, $value);
     parent::persist($queries, $entity, $em);
 }