小编iLi*_*ast的帖子

将事件侦听器添加到由事件侦听器添加的表单元素

我正在构建一个Symfony应用程序并使用带有一些jquery/ajax的表单事件来完成整个"州/地区"的事情.我有一个小问题,我使用的格式省 - >城市 - >郊区.现在我可以告诉我的代码很好,但是当执行到达我向"City"选择添加监听器的部分时,它会抛出错误,说明以下内容:

The child with the name "physicalCity" does not exist.

当我尝试向新创建的字段添加事件监听器时,这显然会发生这种情况,从而为事件监听器创建的元素添加事件监听器?

代码的一部分如下......我做错了什么?任何帮助将非常感谢!

public function buildForm(FormBuilderInterface $builder, array $options) {
        $builder
            ->add('schoolName')
            ->add('physicalProvince', 'entity', array(
                'mapped' => false,
                'class' => 'MY\MainBundle\Entity\Province',
                'empty_value' => 'Select a province',
                'attr' => array(
                    'class' => 'province',
                    'data-show' => 'physical-city',
                )
            ));

        /*
         * For the physical cities
         */
        $physicalCityModifier = function(FormInterface $form, Province $province = null) {
            if (null !== $province)
                $cities = $province->getCities();
            else
                $cities = array();

            $form->add('physicalCity', 'entity', array( …
Run Code Online (Sandbox Code Playgroud)

php events symfony

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

FOSElasticaBundle和Doctrine Hydration

我正忙着检查一下我正在开始的新项目的弹性搜索.我目前正在运行Symfony2.5,使用最新的FOSElasticaBundle以及所有这些.我正在对捆绑的性能做一些基准测试(我知道弹性本身非常快),但是我遇到了一个实际上很容易解决的小问题,如果只是捆绑的文档更冗长.

我的实际问题是如何,而不是返回一个Doctrine对象数组(我相信通过数据库查询填充),而不是从Elastica本身返回响应的"原始"数组?包括响应时间,最大分数等.FOSElasticaBundle的文档对这些主题非常模糊......

当你已经掌握了弹性的所有信息时,重新查询数据库似乎有点适得其反,而且速度慢?或者有一些非常明显的东西我在这里失踪了吗?

谢谢你的帮助!

symfony doctrine-orm elasticsearch foselasticabundle

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

用Kong认证

我正在寻找Kong来取代我目前手工推出的NodeJS API网关.目前,我有一个用户服务,通过在登录时提供JWT来处理身份验证(用Django编写),然后客户端通过标头传入.我现在的API网关然后拦截任何电话,也确实验证调用返回给用户的服务,并与替换JWT报头X-User-IdX-User-Email.

据我所知,孔可以大致做同样的事情.我试图弄清楚这应该如何在一个完美的世界中发挥作用.我仍然有机会更换大部分基础设施,因此重写一些服务并非完全不可能.

所以,在我看来,会发生以下情况:

  1. 用户在我的网站上注册.然后我在Kong上用他们的用户名/ id创建一个新的消费者
  2. 用户登录.这是我卡住的地方.我是否登录(或者在这种情况下,只是将用户认证为所述用户),向Kong询问此消费者的JWT,然后返回?如果我想在JWT的有效载荷中获得更多数据怎么办?当JWT到期时,Kong会发生什么?
  3. 当用户请求服务时,Kong将从标题中嗅出JWT,替换为X-Consumer-*- 这是正确的吗?

如果我的想法错了,或者有更好的方法来实现这一点,请纠正我.我对整个微服务的事情都很陌生.

authentication django restful-authentication microservices kong

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

Phonegap安装问题(shasum检查失败)

我正在尝试在Ubuntu 13.04(Raring Ringtail)上安装phonegap.它可以运行很多包,然后突然停止......这是最后几行的输出......

npm http GET https://registry.npmjs.org/async/-/async-0.1.22.tgz
npm http 200 https://registry.npmjs.org/async/-/async-0.1.22.tgz
npm http GET https://registry.npmjs.org/graceful-fs
npm http 200 https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.1.tgz
npm http 200 https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.1.tgz
npm ERR! Error: shasum check failed for /home/thomas/tmp/npm-28537-
    2GGcJK29/1380571519720-0.5711500460747629/tmp.tgz
npm ERR! Expected: 4bf7f005fe1038c4fe9207603b961c97bd0ba5a3
npm ERR! Actual:   b237f063a8d2d81a648e08b7173f9b1e040cc77f
npm ERR!     at /usr/local/lib/node_modules/npm/node_modules/sha/index.js:38:8
npm ERR!     at ReadStream.<anonymous> 
    (/usr/local/lib/node_modules/npm/node_modules/sha/index.js:85:7)
npm ERR!     at ReadStream.EventEmitter.emit (events.js:125:20)
npm ERR!     at _stream_readable.js:896:16
npm ERR!     at process._tickCallback (node.js:316:11)
npm ERR! If you need help, you may report this log at:
npm …
Run Code Online (Sandbox Code Playgroud)

node.js cordova

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

Symfony UniqueEntity异常

好的,我知道这已被问了一百万次,但是这里有.

我已经读过这个,这个,这个以及文档,但仍然无法弄清楚我的问题是什么.每当我尝试添加具有重复用户名/电子邮件的用户时,我都会收到异常,而不是预期的表单验证错误.我有一个SystemUser实体,通过连接继承映射链接到各种其他用户类型.在SystemUser类中,我有这个......

/**
 * SystemUser
 *
 * @ORM\Table(name="systemuser")
 * @ORM\Entity(repositoryClass="MyBundle\MainBundle\Entity\Repository\SystemUserRepository")
 * @ORM\InheritanceType("JOINED")
 * @ORM\DiscriminatorColumn(name="discr", type="integer")
 * @ORM\DiscriminatorMap({"0" = "SystemUser", "1" = "SchoolAdmin", "2" = "Teacher", "3" = "Student", "4" = "Guardian", "5" = "SystemAdmin"})
 * @ORM\HasLifecycleCallbacks()
 * @UniqueEntity(fields={"email"}, message="This email address is already used in the system", groups={"registration"})
 * @UniqueEntity(fields={"username"}, message="This cellphone number is already used in the system", groups={"registration"})
 */
Run Code Online (Sandbox Code Playgroud)

在字段本身(电子邮件,用户名)我也有unique=true.我试过没有它,同样的例外.我也试过没有groups={"registration"}旗帜,我不确定是否必须指定'注册'组并在某处声明(我确实检查了文档,但找不到任何东西).事实上,我不知道验证组在这个例子中实际上有什么好处,但我还是试过了.

失败了,我转向尝试validation.yml ...

MyBundle\MainBundle\Entity\SystemUser:
    constraints:
        - Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity: …
Run Code Online (Sandbox Code Playgroud)

symfony doctrine-orm

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

在elasticsearch中使用"union"进行子查询

我目前正在忙于一个项目,我们选择使用Elasticsearch作为分类广告网站的搜索引擎.

目前,我有以下业务规则:

列出每页25个广告.在这25个中,显示的10个广告必须是"付费广告",其他15个必须是"免费".所有25个必须与所执行的搜索相关(即关键字,地区,价格,类别等)

我知道我可以使用两个单独的查询来做到这一点,但这似乎是一种巨大的资源浪费.是否可以进行"子查询"(如果你可以调用它们?)并将这些结果合并到一个结果集中?不知怎的,只在一个查询中从elasticsearch获取10个"付费"广告和15个"免费"广告?当然假设有足够的广告使这个要求成为可能.

谢谢你的帮助!

编辑 - 只需添加我的映射信息即可.

"properties": {
       "advertText": {
          "type": "string",
          "boost": 2,
          "store": true,
          "analyzer": "snowball"
       },
       "canonical": {
          "type": "string",
          "store": true
       },
       "category": {
          "properties": {
             "id": {
                "type": "string",
                "store": true
             },
             "name": {
                "type": "string",
                "store": true
             },
             "parentCategory": {
                "type": "string",
                "store": true
             }
          }
       },
       "contactNumber": {
          "type": "string",
          "index": "not_analyzed",
          "store": true
       },
       "emailAddress": {
          "type": "string",
          "store": true,
          "analyzer": "url_email_analyzer"
       },
       "advertType": {
          "type": "string",
          "index": "not_analyzed"
       }, …
Run Code Online (Sandbox Code Playgroud)

php elasticsearch elastica

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

如何以编程方式创建一对一或一对关系 - MySQL?

我正忙着一个项目,我遇到的一个绊脚石如下:

我有一个预订表,可能会或可能不会导致发票(由于一些不相关的东西,如取消).我如何强制执行(在预订方面)零(或在发票方面)关系?这是我到目前为止所拥有的:

CREATE TABLE IF NOT EXISTS `booking` (    
   `booking_id` int(11) NOT NULL AUTO_INCREMENT,   
   `voucher_id` int(11) NOT NULL,  
   `pickup_date_time` datetime NOT NULL, ...  
   PRIMARY KEY (`booking_id`,`voucher_id`)  
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 
Run Code Online (Sandbox Code Playgroud)

然后,后来:

  CREATE TABLE IF NOT EXISTS `invoice` (  
  `booking_id` int(11) NOT NULL,  
  `voucher_id` int(11) NOT NULL,  
  `invoice_number` int(11) NOT NULL,  
  `paid` tinyint(1) NOT NULL,  
  PRIMARY KEY (`booking_id`,`voucher_id`),  
  UNIQUE KEY `invoice_number` (`invoice_number`),  
  KEY `voucher_id` (`voucher_id`)  
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 
Run Code Online (Sandbox Code Playgroud)

voucher_id只是我在系统中使用的其他东西.该invoice_number还的PHP产生的,所以这是无关紧要的.

任何帮助将不胜感激!

mysql sql database-design foreign-keys relational-database

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

学说问题(映射不一致)

我正忙于Symfony的一个项目,我只是检查了分析器选项卡,看到2个错误不断弹出 - 它们在下面.

The mappings MyBundle\MainBundle\Entity\School#provinceId and MyBundle\MainBundle\Entity\Province#schools are incosistent with each other.

The association MyBundle\MainBundle\Entity\School#grades refers to the owning side field MyBundle\MainBundle\Entity\Grade#school_id which does not exist.
Run Code Online (Sandbox Code Playgroud)

我得到了更多这些,我不明白为什么?"不存在"是什么意思(看我在那里做了什么)?如果它有用,我的部分代码如下.

在Province.php

/**
  * @ORM\OneToMany(targetEntity="School", mappedBy="provinceId")
 */ 
private $schools;
Run Code Online (Sandbox Code Playgroud)

在我的Schools.php

/**
 * @var integer
 *
 * @ORM\ManyToOne(targetEntity="Province", inversedBy="schools")
 * @ORM\JoinColumn(name="province_id", referencedColumnName="id")
 */
private $provinceId;
Run Code Online (Sandbox Code Playgroud)

而对于第二个错误......

School.php

/**
 * @ORM\OneToMany(targetEntity="Grade", mappedBy="school_id")
 */
private $grades;
Run Code Online (Sandbox Code Playgroud)

和Grade.php

/**
 * @var integer
 *
 * @ORM\ManyToOne(targetEntity="School", inversedBy="grades")
 * @ORM\JoinColumn(name="school_id", referencedColumnName="id")
 */
private $schoolId;
Run Code Online (Sandbox Code Playgroud)

我只是想知道这些错误究竟是什么意思以及为什么这些实体不正确 - 我试着关注学说页面上的文档,但显然我在某个地方出错了!

谢谢你的帮助!

php symfony doctrine-orm

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

识别与非识别关系(再次!!!)

所以,我在stackoverflow上已经阅读了很多答案,但我仍然对它的整个概念感到困惑.具体来说,我已经阅读了这篇文章(包括它引用的所有文章),但似乎无法找到对概念的可靠掌握(或者也许是我的基数(n:m等)和身份之间的混淆):

仍然困惑于识别与非识别关系

我的问题是:我知道识别关系意​​味着子实体的主键必须包含其外键,而非识别关系则相反(这是正确的吗?).现在,这对我来说似乎有点太"前瞻性思考"了?在其中一个链接的评论中也有同样的说法.我怎样才能"退后一步"并实际看到哪些关系具有哪些特征?

例如,我有两个困境:

  1. job_title(父母,1)到employee(孩子,1 ..*).我是否正确地认为,因为job_title是一个查找表,它必须是一个非识别关系?或者更准确地说"没有工作标题,员工就不能存在,因此必须确定"?或者是定义该场景的关系?
  2. employeeto employee_equipment(桥接m:n基数之间的实体)到equipment.现在,我读到这必须是employee_equipment双方的识别关系.但是,如果员工不需要设备怎么办?可以有一个可选的识别关系吗?

我想我正在寻找一种方法来识别哪些身份表应该属于哪个,而不考虑主键/外键,或者任何真正技术性的东西.

任何帮助将非常感激!

mysql database database-design entity-relationship cardinality

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

按时间顺序更新(如果存在),否则为timeCreated

我有两个弹性类型的字段,即timeCreatedtimeUpdated.现在我的商业案例是我们应该总是按顺序排序timeUpdated,除非它null(或不存在),然后显然离开我们timeCreated,这总是设置.

现在通过我对弹性搜索中的排序如何工作的理解,以下将不起作用,因为它将按timeUpdatedAND timeCreated一起排序,而不是我正在寻找的方式.

"query": {
    "match_all": {}
},
"sort": {
    "timeUpdated": {"order": "desc", "missing": "_last"},
    "timeCreated": {"order": "desc"}
}
Run Code Online (Sandbox Code Playgroud)

我不确定这是否可行,但弹性很棒,所以我希望这是一个我在文档中遗漏的简单的事情.

我正在使用最新版本(我相信1.6)使用Elastica(尽管这与原始问题没有区别).

编辑

例如,如果我有3个文件:

1 - {"timeCreated": "2015-07-08T08:00:00Z"},
2 - {"timeCreated": "2015-05-08T10:00:00Z", "timeUpdated": "2015-07-09T08:00:00"}
3 - {"timeCreated": "2015-07-10T08:00:00Z"}
Run Code Online (Sandbox Code Playgroud)

它应该显示的顺序必须是3, 2, 1.我得到的是2, 3, 1.

elasticsearch elastica foselasticabundle

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