public static function create($data) { $response = new Response(); try { $data = json_decode($data, true); /** @var Robots $robot */ $robot = new Robots(); $robot->setAttributes($data); $response->data = $robot->create(); $response->status = $response::STATUS_CREATED; } catch (Exception $e) { $response->setException($e); } finally { return $response->toArray(); } }
protected function _testCacheDefaultDI($di) { $di->set('modelsCache', function () { $frontCache = new Phalcon\Cache\Frontend\Data(); return new Phalcon\Cache\Backend\File($frontCache, array('cacheDir' => 'unit-tests/cache/')); }, true); //Find $robots = Robots::find(array('cache' => array('key' => 'some'), 'order' => 'id')); $this->assertEquals(count($robots), 3); $this->assertTrue($robots->isFresh()); $robots = Robots::find(array('cache' => array('key' => 'some'), 'order' => 'id')); $this->assertEquals(count($robots), 3); $this->assertFalse($robots->isFresh()); //TODO: I really can't understand why postgresql fails on inserting a simple record //The error is "Object not in prerequisite state: 7 ERROR: //currval of sequence "robots_id_seq" is not yet defined in this session" //Is the ORM working with postgresql, is the database structure incorrect or //I'm using the wrong code? //Skip this test until someone can shed some light on this if (!$di->get("db") instanceof Phalcon\Db\Adapter\Pdo\Postgresql) { //Aggregate functions like sum, count, etc $robotscount = Robots::count(array('cache' => array('key' => 'some-count'))); $this->assertEquals($robotscount, 3); //Create a temporary robot to test if the count is cached or fresh $newrobot = new Robots(); $newrobot->name = "Not cached robot"; $newrobot->type = "notcached"; $newrobot->year = 2014; $newrobot->datetime = '2015-03-05 04:16:17'; $newrobot->text = 'Not cached robot'; $newrobot->create(); $robotscount = Robots::count(array('cache' => array('key' => 'some-count'))); $this->assertEquals($robotscount, 3); //Delete the temp robot Robots::findFirst("type = 'notcached'")->delete(); } }
<?php $robot = new Robots(); $robot->type = "mechanical"; $robot->name = "Astro Boy"; $robot->year = 1952; //This record only must be created if ($robot->create() == false) { echo "Umh, We can't store robots right now: \n"; foreach ($robot->getMessages() as $message) { echo $message, "\n"; } } else { echo "Great, a new robot was created successfully!"; }
<?php //Creating a new robot $robot = new Robots(); $robot->type = 'mechanical'; $robot->name = 'Astro Boy'; $robot->year = 1952; $robot->create(); //Passing an array to create $robot = new Robots(); $robot->create(array('type' => 'mechanical', 'name' => 'Astroy Boy', 'year' => 1952));
<?php $robot = new Robots(); $robot->name = 'Bender'; $robot->year = 1999; $robot->created_at = new \Phalcon\Db\RawValue('default'); $robot->create();