我的所有Doctrine2设置都在YAML文件中完成.我有一个名为LoanAppMenuProgress的实体类,我正在尝试执行prePersist函数.此LoanAppMenuProgress实体与另一个名为LoanApp的类具有oneToOne关系.LoanAppMenuProgress表上存在与DB中的LoanApp表关联的外键关联.
我在LoanApp.LoanAppMenuProgress.orm.yml中为我的LoanAppMenuProgress类配置了这个配置:
LoanEv\LoanAppBundle\Entity\LoanApp\LoanAppMenuProgress:
type: entity
repositoryClass: LoanEv\LoanAppBundle\Repository\LoanApp\LoanAppMenuProgress
table: loan_app_menu_progress
id:
id:
type: integer
generator: { strategy: auto }
### This is the OWNING side of the relationship
oneToOne:
loan_app:
targetEntity: LoanApp
inversedBy: loanapp_menu
joinColumn:
name: loan_id
referencedColumnName: id
fields:
loan_id:
type: integer
menu_id2:
type: integer
menu_id3:
type: integer
menu_id4:
type: integer
lifecycleCallbacks:
prePersist: [ updateMainMenuStatus ]
Run Code Online (Sandbox Code Playgroud)
这是我的LoanApp.LoanApp.orm.yml文件:
LoanEv\LoanAppBundle\Entity\LoanApp\LoanApp:
type: entity
repositoryClass: LoanEv\LoanAppBundle\Repository\LoanApp\LoanAppRepository
table: loan_app
id:
id:
type: integer
generator: { strategy: auto }
## This is the INVERSE side of …Run Code Online (Sandbox Code Playgroud) 我有一个带有InputFilter的Form\Element,其'required'值设置为"false".在某些情况下,Element需要在Controller中将"required"值设置为"true".
当我在我的控制器中设置Zend\InputFilter setRequired(true)时,在调用$ form-> isValid()方法时似乎没有遵守它.但是,如果在Zend\InputFilter中设置过滤器'required'为"true"(并且不在Controller内部动态设置),那么它按预期工作 - 但这不是我想要的解决方案,因为我使用此表单并过滤几个地点,有时需要这个地方,有时则不需要.
在我的控制器中,我有以下内容:
$form = new UserDataForm();
$request = $this->getRequest();
if ($request->isPost()) {
$update = new UserFilter();
// The following doesn't seem to be respected
$update->getInputFilter()->get('userName')->setRequired(true);
$form->setInputFilter($update->getInputFilter());
$form->setData($request->getPost());
if($form->isValid()) {
//The result is true even when the 'userName' var is not set in the POST data.
echo("Is Valid");
} else {
echo($form->getMessages());
}
Run Code Online (Sandbox Code Playgroud)
我已经设置了我的UserDataForm()类,如下所示:
class UserDataForm extends Form
{
public function __construct($name = null, array $userTypes) {
parent::__construct('user');
$this->setAttribute('method','post');
$this->add(array(
'name' => 'userName',
'attributes' => …Run Code Online (Sandbox Code Playgroud)