我正在构建一个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) 我正忙着检查一下我正在开始的新项目的弹性搜索.我目前正在运行Symfony2.5,使用最新的FOSElasticaBundle以及所有这些.我正在对捆绑的性能做一些基准测试(我知道弹性本身非常快),但是我遇到了一个实际上很容易解决的小问题,如果只是捆绑的文档更冗长.
我的实际问题是如何,而不是返回一个Doctrine对象数组(我相信通过数据库查询填充),而不是从Elastica本身返回响应的"原始"数组?包括响应时间,最大分数等.FOSElasticaBundle的文档对这些主题非常模糊......
当你已经掌握了弹性的所有信息时,重新查询数据库似乎有点适得其反,而且速度慢?或者有一些非常明显的东西我在这里失踪了吗?
谢谢你的帮助!
我正在寻找Kong来取代我目前手工推出的NodeJS API网关.目前,我有一个用户服务,通过在登录时提供JWT来处理身份验证(用Django编写),然后客户端通过标头传入.我现在的API网关然后拦截任何电话,也确实验证调用返回给用户的服务,并与替换JWT报头X-User-Id和X-User-Email.
据我所知,孔可以大致做同样的事情.我试图弄清楚这应该如何在一个完美的世界中发挥作用.我仍然有机会更换大部分基础设施,因此重写一些服务并非完全不可能.
所以,在我看来,会发生以下情况:
X-Consumer-*- 这是正确的吗?如果我的想法错了,或者有更好的方法来实现这一点,请纠正我.我对整个微服务的事情都很陌生.
authentication django restful-authentication microservices kong
我正在尝试在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) 好的,我知道这已被问了一百万次,但是这里有.
我已经读过这个,这个,这个以及文档,但仍然无法弄清楚我的问题是什么.每当我尝试添加具有重复用户名/电子邮件的用户时,我都会收到异常,而不是预期的表单验证错误.我有一个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) 我目前正在忙于一个项目,我们选择使用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) 我正忙着一个项目,我遇到的一个绊脚石如下:
我有一个预订表,可能会或可能不会导致发票(由于一些不相关的东西,如取消).我如何强制执行(在预订方面)零(或在发票方面)关系?这是我到目前为止所拥有的:
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产生的,所以这是无关紧要的.
任何帮助将不胜感激!
我正忙于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)
我只是想知道这些错误究竟是什么意思以及为什么这些实体不正确 - 我试着关注学说页面上的文档,但显然我在某个地方出错了!
谢谢你的帮助!
所以,我在stackoverflow上已经阅读了很多答案,但我仍然对它的整个概念感到困惑.具体来说,我已经阅读了这篇文章(包括它引用的所有文章),但似乎无法找到对概念的可靠掌握(或者也许是我的基数(n:m等)和身份之间的混淆):
我的问题是:我知道识别关系意味着子实体的主键必须包含其外键,而非识别关系则相反(这是正确的吗?).现在,这对我来说似乎有点太"前瞻性思考"了?在其中一个链接的评论中也有同样的说法.我怎样才能"退后一步"并实际看到哪些关系具有哪些特征?
例如,我有两个困境:
job_title(父母,1)到employee(孩子,1 ..*).我是否正确地认为,因为job_title是一个查找表,它必须是一个非识别关系?或者更准确地说"没有工作标题,员工就不能存在,因此必须确定"?或者是定义该场景的关系?employeeto employee_equipment(桥接m:n基数之间的实体)到equipment.现在,我读到这必须是employee_equipment双方的识别关系.但是,如果员工不需要设备怎么办?可以有一个可选的识别关系吗?我想我正在寻找一种方法来识别哪些身份表应该属于哪个,而不考虑主键/外键,或者任何真正技术性的东西.
任何帮助将非常感激!
mysql database database-design entity-relationship cardinality
我有两个弹性类型的字段,即timeCreated和timeUpdated.现在我的商业案例是我们应该总是按顺序排序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.
symfony ×4
doctrine-orm ×3
php ×3
elastica ×2
mysql ×2
cardinality ×1
cordova ×1
database ×1
django ×1
events ×1
foreign-keys ×1
kong ×1
node.js ×1
sql ×1