dimaxz / simpleorm
There is no license information available for the latest version (v1.2.2) of this package.
что то вроде ORM
v1.2.2
2016-09-01 08:49 UTC
Requires
- league/container: 2.0.*
- wixel/gump: 1.3.*
This package is not auto-updated.
Last update: 2024-11-09 19:31:18 UTC
README
Features
- Framework agnostic
- Lazy loading
- Soft Deletes
- Value Objects
- Support Relationships
find by id
$Price = $PriceMapper->findById(44); //or $Price = $PriceMapper->useJoins()->findById(45);
save
$Price->getDatafile()->setIsEnabled(0); $Price->setName('test'); if($PriceMapper->save($Price)){ echo 'save success'; }
delete
if($PriceMapper->delete($Price)){ echo 'delete success'; }
find by criteria
use SimpleORM\Specification; $SearchCriteria = (new Specification())->setWhere('tablename',$tablename); $Price = $this->PriceMapper->findBySpecification($SearchCriteria);
save with relations
$UserGroup = new UserGroup('admin','администратор'); $User = new User('master','mail@test.ru', '65829e542dd151f443',$UserGroup); $User->setName('Тестовый пользюк 2'); $City = new City('Москва'); $Address = new UserAddress($City,'610110','Чернышевского'); $User->setAddress($Address); if($UserMapper->save($User)){ echo 'save success'; }
use ValueObject
use SimpleORM\AbstractDataMapper, ValueObject\UserPhoto; class UserMapper extends AbstractDataMapper { /** * Настройка полей */ protected function setMappingFields() { //вариант 1 $this ->addMappingField('id', [ 'field' => 'usr_id', 'primary' => true ] ) ->addMappingField('photo',[ 'name' => 'usr_photo', 'build' => function($row){ return new UserPhoto($row['usr_photo']); }, 'unbuild' => function(UserPhoto $UserPhoto){ return $UserPhoto->getPath(); } ]) ; } }