namibia
df0489e1eeeeab5a9bd44e1d84fce49924fe1bac
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
<?php namespace Stock\Utility; use \Doctrine\ORM\EntityManager; use Utility\Debug; class ImportUtility { /** * @var \Doctrine\ORM\EntityManager */ protected $em; /** * @param \Doctrine\ORM\EntityManager $em */ public function __construct(EntityManager $em) { $this->em = $em; } /** * Retrieve database table entry id from search parameters. * @param string $entityName * @param array $search * @return mixed */ public function getId($entityName, $search) { $item = $this->em ->getRepository($entityName) ->findOneBy($search); return !is_null($item) ? $item->id : false; } /** * Retrieve database table entry from search parameters. * @param string $entityName * @param array $search * @return mixed */ public function getEntry($entityName, $search) { $item = $this->em ->getRepository($entityName) ->findOneBy($search); return !is_null($item) ? $item : false; } /** * Create database table entry. * @param string $entityName * @param array $data * @return mixed */ public function createEntry($entityName, array $data) { $item = new $entityName(); //if($item instanceof \Stock\Entity\Make) {Debug::errorLog("entity", 'stock\entity\make');} $item->fromArray($data); $this->em->persist($item); $this->em->flush(); return $item->id; } /** * Update database table entry. * @param string $entityName * @param integer $id * @param array $data */ public function updateEntry($entityName, $id, array $data) { $this->em ->getRepository($entityName) ->find($id) ->fromArray($data); $this->em->flush(); } /** * Establish new synchronization version to use. * @param string $tableName * @return integer */ public function getLatestSynchVersion($tableName) { $versions = $this->em->createQuery( "SELECT MAX(versionedTable.createVersion) AS createVersion," . " MAX(versionedTable.updateVersion) AS updateVersion " . "FROM $tableName versionedTable" ) ->getScalarResult(); return $versions[0]['createVersion'] > $versions[0]['updateVersion'] ? (int)$versions[0]['createVersion'] : (int)$versions[0]['updateVersion']; } } |
Commits for namibiamodule/Stock/src/Stock/Utility/ImportUtility.php
Revision | Author | Commited | Message |
---|---|---|---|
df0489 ... | Mark | Fri 14 Oct, 2016 10:01:00 +0000 | initial commit |