小编Tho*_*s K的帖子

名为"email"的字段覆盖无效

我试图覆盖FOSUserBundle的用户映射的两个属性.

use FOS\UserBundle\Model\User as BaseUser;
...
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;

/**
 * @ORM\Entity
 * @ORM\HasLifecycleCallbacks
 * @ORM\Table(name="user")
 * @UniqueEntity(
 *     fields={"emailCanonical", "zone"},
 *     errorPath="email",
 *     message="This email address is already in use."
 * )
 * @ORM\AttributeOverrides({
 *     @ORM\AttributeOverride(name="email", column=@ORM\Column(type="string", name="email", length=255, unique=false, nullable=false)),
 *     @ORM\AttributeOverride(name="emailCanonical", column=@ORM\Column(type="string", name="emailCanonical", length=255, unique=false, nullable=false))
 * })
 */
class User extends BaseUser
{
    ...
Run Code Online (Sandbox Code Playgroud)

一切似乎工作正常,除非我生成访问器: Invalid field override named 'email'

这里抛出错误:

// Doctrine\ORM\Mapping\ClassMetadataInfo

public function setAttributeOverride($fieldName, array $overrideMapping)
{
    if ( ! isset($this->fieldMappings[$fieldName])) {
        throw MappingException::invalidOverrideFieldName($this->name, $fieldName); …
Run Code Online (Sandbox Code Playgroud)

annotations symfony doctrine-orm

4
推荐指数
2
解决办法
3908
查看次数

symfony2中有多个多对多的关系

我有3个实体:

  • 歌曲
  • 艺术家
  • 类型

一首歌可以有多种类型,反之亦然.一首歌也可以有多位艺术家,反之亦然.

这就是我试图建立两个多对多关系的原因.但是,在生成Entity clases时,第二个中的第一个总是被第二个"覆盖",并且没有为该那个创建变量或访问器.

这是我的yaml :( 更新)

Foo\BarBundle\Entity\Song:
  type: entity
  table: song
  id:
    id:
      type: integer
      generator:
        strategy: AUTO
  fields:
    title:
      type: string
      length: 300
    mime_type:
      type: string
      length: 20
    filesize:
      type: integer
      length: 20
    length:
      type: string
      length: 20
    created_at:
      type: datetime
      gedmo:
        timestampable:
          on: create
  manyToOne:
    user:
      targetEntity: Spotaset\UserBundle\Entity\User
      inversedBy: songs
  manyToMany:
    genres:
      targetEntity: Genre
      inversedBy: songs
  manyToMany:
    artists:
      targetEntity: Artist
      inversedBy: songs


Foo\BarBundle\Entity\Artist:
  type: entity
  table: artist
  id:
    id:
      type: integer
      generator:
        strategy: AUTO …
Run Code Online (Sandbox Code Playgroud)

relational-database symfony doctrine-orm

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

关于doctrine2代理对象的思考

据我所知,反射方法property_exists()在doctrine2代理对象上不起作用。

在这种情况下,将通过关系检索代理 $user->getCity()

在这种情况下,如何检查属性是否存在/已设置?

php reflection symfony doctrine-orm

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

Symfony2:私有ESI片段

我想知道是否存在类似私有ESI片段的东西.在我读到的文档中:

  1. "设置共享的最大年龄 - 这也将响应标记为公共 "
  2. "一旦开始使用ESI,请记住始终使用s-maxage指令而不是max-age.由于浏览器只接收聚合资源,因此它不知道子组件,因此它将遵循最大值 -年龄指令并缓存整个页面.你不希望这样."

我不完全理解我是否能够或不能按用户缓存页面的某些部分.有人可以解释一下吗?

提前致谢!

caching reverse-proxy symfony esi

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

应用程序在开始编辑UITextField时冻结

我有两个UITextFields firstnameemail.我在我的.h文件中将这些作为保留属性,并在我的.m文件中合成它们.编辑firstname字段工作正常.但是,只要我点击电子邮件文本字段进行编辑,该应用就会冻结.它没有崩溃所以在调试器中没有任何用处.

这就是我在viewDidLoad中所拥有的.

- (void)viewDidLoad
{
    [super viewDidLoad];


    firstname.delegate = self;
    email.delegate = self;
    email.adjustsFontSizeToFitWidth = YES;    

    UIView *paddingView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 20)];
    email.leftView = paddingView;
    email.leftViewMode = UITextFieldViewModeAlways;
    email.rightView = paddingView;
    email.rightViewMode = UITextFieldViewModeAlways;

    firstname.leftView = paddingView;
    firstname.leftViewMode = UITextFieldViewModeAlways;
    firstname.rightView = paddingView;
    firstname.rightViewMode = UITextFieldViewModeAlways;

    [paddingView release];
  }
Run Code Online (Sandbox Code Playgroud)

有人知道吗?

谢谢!

iphone uitextfield ios

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

无法使用RabbitMQ和Symfony2发送Swift_Message

我正在使用RabbitMQBundle将RabbitMQ集成到我的symfony2项目中.一切正常(我可以制作和使用消息).但是,每当我尝试使用来自消费者的Swift_Message发送电子邮件时,我都不会收到该电子邮件.mail('foo@bar.com', 'subject', 'message');从消费者那里使用确实有效.

这是我用来发送Swift_Message的代码:

 $message = \Swift_Message::newInstance()
    ->setSubject($subject)
    ->setFrom('noreply@bar.com')
    ->setTo('foo@bar.com')
    ->setBody('Foo Bar');

  $this->container->get('mailer')->send($message);
Run Code Online (Sandbox Code Playgroud)

此代码在"普通"控制器或服务中工作.但是,当RabbitMQ在消费者中触发时,它不起作用.

有任何线索吗?

php swiftmailer rabbitmq symfony

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

如何处理纯文本密码

我正在开发一个使用某个webapp的API的应用程序.API要求在每次调用时传递(纯文本)用户密码.由于我不熟悉密码最佳实践(特别是在移动设备上),我想知道在我的iPhone应用程序中存储用户密码的最佳方式和地点是什么.任何帮助是极大的赞赏.

iphone passwords

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

Twig和Symfony2 - 测试数字是否均匀

我想为每个偶数行创建一个不同颜色的表.为此,我创建了css,如果迭代索引是偶数,我将不得不检查我的twig模板.

{% if loop.index == "even" %}
Run Code Online (Sandbox Code Playgroud)

但是如何检查一个数字是否在树枝上?谢谢.

if-statement symfony twig

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