小编Der*_*ick的帖子

Doctrine2 lifecycleCallbacks prePersist没有使用YAML配置触发

我的所有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)

persist symfony doctrine-orm

1
推荐指数
1
解决办法
3315
查看次数

Zend Framework 2设置Zend\InputFilter setRequired()

我有一个带有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)

zend-framework2

1
推荐指数
1
解决办法
7364
查看次数

标签 统计

doctrine-orm ×1

persist ×1

symfony ×1

zend-framework2 ×1