spartaksun / orientdb-entity
Symfony2 OrientDb 实体管理器
dev-master
2015-08-18 09:05 UTC
Requires
- php: >=5.5.0
- ostico/phporient: dev-master
- spartaksun/orientdb-query: dev-master
This package is auto-updated.
Last update: 2024-09-19 01:31:33 UTC
README
安装
composer require spartaksun/orientdb-entity
services.yml 的示例
services: orient: class: PhpOrient\PhpOrient public: false properties: hostname: 'localhost' port: 2424 username: 'root' password: 'root' orient.em: class: spartaksun\OrientDb\EntityManager arguments: [@orient, "your_orient_db_name"] properties: classMap: "Country": YourBundle\Entity\Country
通过扩展 spartaksun\OrientDb\Entity 类来定义实体。使用内部验证器或通过扩展抽象类 spartaksun\OrientDb\Validators\Validator 定义自己的验证器
/** * Country entity * @property $first_name * @property $last_name */ class Country extends spartaksun\OrientDb\Entity { /** * {@inheritdoc} */ public function validators() { return [ 'name' => [ [ spartaksun\OrientDb\Validators\StringValidator::class, ['min' => 3, 'max' => 32], ], ], ]; } }
Symfony2 控制器中的使用
$this->get('orient.em');
// Init repository $repository = $this->get('orient.em') ->getRepository( Country::class );
// Get all countries $countries = $repository->findAll(); foreach($countries as $country) { echo $country->name . "\n"; }
// Add new country $country = new Country(); $country->name = 'Ukraine';
if($repository->persist($country)) { $rid = $country->getRid(); } else { var_dump($country->getErrors()); }
// find one $country = $repository->find('name=?', 'Ukraine')