我有一个3层的表单:First Layer是游戏的容器:
class GameListType extends AbstractType {
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('games', 'collection', array(
'required' => false,
'allow_add' => true,
'prototype' => true,
'by_reference' => false,
'type' => new GameBetType(),
))
;
}
public function setDefaultOptions(OptionsResolverInterface $resolver) {
parent::setDefaultOptions($resolver);
$resolver->setDefaults(array(
'cascade_validation' => true,
));
}
}
Run Code Online (Sandbox Code Playgroud)
第二层是游戏本身,因为我不打算改变游戏,但是赌注,它只包括赌注的形式:
class GameBetType extends AbstractType {
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('bet', new BetType());
}
public function setDefaultOptions(\Symfony\Component\OptionsResolver\OptionsResolverInterface $resolver) {
parent::setDefaultOptions($resolver);
$resolver->setDefaults(array(
'data_class' => 'Strego\TippBundle\Entity\Game',
'cascade_validation' => true,
)); …Run Code Online (Sandbox Code Playgroud) 我有一个管理面板,我已经为它定义了一个角色ROLE_ADMIN.在我的security.yml文件中,我使用的是一个模式,^/admin/*所以/ admin下的所有东西都需要ROLE_ADMIN.现在在我的应用程序的前端,我需要检查用户角色,如果角色是ROLE_ADMIN渲染一个文件,否则渲染另一个文件.此URL不属于security.yml中定义的模式.
那么如何在主页上检查用户是管理员还是普通用户,该用户不属于security.yml中定义的模式?
我想编写一个平滑List的函数.
object Flat {
def flatten[T](list: List[T]): List[T] = list match {
case Nil => Nil
case head :: Nil => List(head)
case head :: tail => (head match {
case l: List[T] => flatten(l)
case i => List(i)
}) ::: flatten(tail)
}
}
object Main {
def main(args: Array[String]) = {
println(Flat.flatten(List(List(1, 1), 2, List(3, List(5, 8)))))
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道为什么它不起作用,它返回List(1, 1, 2, List(3, List(5, 8)))但应该是List(1, 1, 2, 3, 5, 8).
你能给我一个提示吗?
在我在AngularJS中的DOM中,我在ng-repeat指令中使用了ng-include.它正在加载HTML就好了.无论如何,我遇到的一个问题是我正在使用JQuery(最新版本)将DOM上的元素上的几个鼠标和鼠标点击事件绑定到与ng-repeat和include添加到DOM的类相同的类.但是,JQuery似乎并没有将事件处理程序应用于新的DOM添加.
在以前的版本中.live()似乎做了我想要的,但它已在最新版本中删除.我是否应该清除元素上的绑定并在每次添加类的其他元素时重新创建它们?
我有两张桌子:
表阿用ID作为主键
表B,id为主键和外键
简短说明:
我需要在表B中有一个主键,它也是一个指向表A主键的外键.
谁能解释我如何通过Doctrine 2中的注释来映射这个?
注意:
我试过了这个:
class A
{
/**
* @var bigint $id
*
* @Column(name="id", type="bigint", nullable=false)
* @Id
* @GeneratedValue(strategy="IDENTITY")
*/
private $a_id;
...
Run Code Online (Sandbox Code Playgroud)
和B表:
class B
{
/**
* @var bigint $id
* @Id
* @OneToOne(targetEntity="A", fetch="LAZY")
* @JoinColumn(name="id", referencedColumnName="id")
*/
private $b_id;
...
Run Code Online (Sandbox Code Playgroud)
但它给了我这个错误:
未捕获的异常'Doctrine\ORM\Mapping\MappingException',带有消息'没有为实体'B'指定标识符/主键.每个实体都必须有一个标识符/主键.在/var/www/agr-reg-php/Doctrine/ORM/Mapping/MappingException.php:37堆栈跟踪:
注意:我不能拥有复合主键.
我按照这里的指示:http: //symfony.com/doc/2.0/bundles/DoctrineMongoDBBundle/index.html
我安装了deps:
#deps
[doctrine-mongodb]
git=http://github.com/doctrine/mongodb.git
[doctrine-mongodb-odm]
git=http://github.com/doctrine/mongodb-odm.git
[DoctrineMongoDBBundle]
git=http://github.com/symfony/DoctrineMongoDBBundle.git
target=/bundles/Symfony/Bundle/DoctrineMongoDBBundle
Run Code Online (Sandbox Code Playgroud)
然后呢 $ php bin/vendors install
我添加了以下内容:
# app/autoload.php
$loader->registerNamespaces(array(
// ....
'Doctrine\\Common' => __DIR__.'/../vendor/doctrine-common/lib',
'Doctrine\\DBAL' => __DIR__.'/../vendor/doctrine-dbal/lib',
'Doctrine\\ODM\\MongoDB' => __DIR__.'/../vendor/doctrine-mongodb-odm/lib',
'Doctrine\\MongoDB' => __DIR__.'/../vendor/doctrine-mongodb/lib',
'Doctrine' => __DIR__.'/../vendor/doctrine/lib',
// ....
));
AnnotationRegistry::registerFile(
__DIR__.'/../vendor/doctrine/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php'
);
AnnotationRegistry::registerFile(
__DIR__.'/../vendor/doctrine-mongodb-odm/lib/Doctrine/ODM/MongoDB/Mapping/Annotations/DoctrineAnnotations.php'
);
Run Code Online (Sandbox Code Playgroud)
我还补充道
# app/AppKernel.php
$bundles = array(
//....
new Symfony\Bundle\DoctrineMongoDBBundle\DoctrineMongoDBBundle(),
//....
);
Run Code Online (Sandbox Code Playgroud)
我的学说配置如下:
# Doctrine Configuration
doctrine:
dbal:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
charset: UTF8
orm: …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法来根据特定实体的注释中指定的约束来验证单个字段(对象属性).
目标是在表单字段的"onBlur"事件之后发送一个AJAX请求,要求服务器仅验证此单个字段,并且 - 根据响应 - 在此字段旁边添加一个小的"OK"图像或错误信息.
我不想验证整个实体.
我想知道这个问题的最佳方法是什么?谢谢你的任何提示.
我有一个在Symfony2中开发的应用程序.现在它的结构如下:
这个结构好吗?或者像论坛功能一样使用捆绑包 - ForumBundle - 包括与论坛相关的每个层(控制器,服务,域逻辑和持久性).
我正在玩Symfony2和Im abit不确定Symfony2如何在View组件中处理Polymorphic集合.看来我可以创建一个包含AbstractChildren集合的实体,但不知道如何在Form Type类中使用它.
例如,我有以下实体关系.
/**
* @ORM\Entity
*/
class Order
{
/**
* @ORM\OneToMany(targetEntity="AbstractOrderItem", mappedBy="order", cascade={"all"}, orphanRemoval=true)
*
* @var AbstractOrderItem $items;
*/
$orderItems;
...
}
/**
* Base class for order items to be added to an Order
*
* @ORM\Entity
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="discr", type="string")
* @ORM\DiscriminatorMap({
* "ProductOrderItem" = "ProductOrderItem",
* "SubscriptionOrderItem " = "SubscriptionOrderItem "
* })
*/
class AbstractOrderItem
{
$id;
...
}
/**
* @ORM\Entity
*/
class ProductOrderItem extends AbstractOrderItem
{
$productName;
}
/** …Run Code Online (Sandbox Code Playgroud) symfony ×7
php ×5
doctrine-orm ×2
angularjs ×1
doctrine ×1
foreign-keys ×1
jquery ×1
mongodb ×1
orm ×1
polymorphism ×1
primary-key ×1
scala ×1
symfony-2.0 ×1
symfony-2.1 ×1
validation ×1