ansas / propel-helper
Propel helper - Propel2 ORM 的辅助类(特性)
1.4.0
2019-06-29 15:40 UTC
Requires
- propel/propel: ^2
README
为 Propel2 ORM 提供辅助类(特性)。
Ansas\Propel\Helper\ReadOnly
此特性是为了解决 Propel 的一个问题,即在 Propel 的 schema.xml
文件中将表设置为 readOnly="true"
后,不能再使用 joinWith()
方法。因此,在方案中不是使表“只读”,而是在您想要设置为只读的每个子模型中添加此特性。
详细信息请见 propelorm/Propel2#629
示例用法
<?php use Base\User as BaseUser; use Ansas\Propel\Helper\ReadOnly; class User extends BaseUser { use ReadOnly; }
Ansas\Propel\Helper\SimpleVersionableBehavior
默认的“可版本化”行为似乎与关系和与其他行为的组合不太兼容。因此,我编写了一个“简单特性”,该特性不考虑相关表的版本。所有方法都可以像以前一样使用。
使用此特性需要实现以下三件事
- 在所需类中使用此特性
- 添加以下常量,以包含活动记录类(例如,对于 'Account')的名称
- 可选地添加常量以包含列名(在默认 PhpName 表示法中),在填充对象时跳过
示例用法
<?php use Base\User as BaseUser; use Ansas\Propel\Helper\SimpleVersionableBehavior; class User extends BaseUser { use SimpleVersionableBehavior; /** * Class name for versionable behavior active records */ const VERSIONABLE_CLASS = 'UserVersion'; /** * Column names (in default PhpName notation) to skip when populating this with version entry */ const VERSIONABLE_POPULATE_SKIP_COLUMNS = ['UpdatedAt', 'Version']; }
Ansas\Propel\Helper\Validation
此特性使得对象的验证变得相当简单。
方法
protected function addValidationError($key, $value, $overwrite = true) protected function resetValidation() public function getValidationErrors() public function hasValidationErrors() abstract protected function doValidate();
TODO
- 编写测试
贡献
任何人都可以为此包做出贡献。只需
- 将其分支
- 进行您的更改,并
- 发送拉取请求。
许可
MIT 许可证(有关更多信息,请参阅 LICENSE 文件)。