我使用Twig作为模板引擎,我真的很喜欢它.但是,现在我遇到的情况绝对必须以比我发现的更简单的方式完成.
我现在拥有的是:
{% for myVar in someArray %}
{% set found = 0 %}
{% for id, data in someOtherArray %}
{% if id == myVar %}
{{ myVar }} exists within someOtherArray.
{% set found = 1 %}
{% endif %}
{% endfor %}
{% if found == 0 %}
{{ myVar }} doesn't exist within someOtherArray.
{% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是更像这样的东西:
{% for myVar in someArray %}
{% if myVar is in_array(array_keys(someOtherArray)) %}
{{ …Run Code Online (Sandbox Code Playgroud) 我试图从命令行创建一个新用户并收到此错误:
Warning: array_search() expects parameter 2 to be array, null given
in /vendor/friendsofsymfony/user-bundle/FOS/UserBundle/Model/User.php line 368
Run Code Online (Sandbox Code Playgroud)
当试图通过webinterface注册来创建用户时,我得到了这个:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'salt' cannot be null
Run Code Online (Sandbox Code Playgroud)
使用现有用户登录有效.还要更新配置文件并更改密码.只是创建新用户不起作用.
我在非常简单的设置中使用v 1.3.1并且还没有找到任何解决方案.
有任何想法吗?
我有一个包含多个字段的实体.其中一个在提交表格后得到验证如下:
/**
* @var integer $anzahl
*
* @ORM\Column(name="anzahl", type="integer")
* @Assert\NotBlank(message="Bitte geben Sie eine Kistenanzahl an.")
* @Assert\Type(type="numeric", message="Die Kistenanzahl muss eine Zahl sein.")
* @Assert\Min(limit="1", message="Sie müssen mindestens eine Kiste suchen oder anbieten.")
*/
private $anzahl;
Run Code Online (Sandbox Code Playgroud)
我有这个解决方案的两个问题:
只接受大于零的整数值.但是,此验证还接受浮动/双打.但是,如果我更改@Assert\Type(type="numeric")为@Assert\Type(type="integer")no输入被验证为true.如何验证输入是否为整数值?
另一个问题是,在输入明显无效的值(如字母串)后,我不仅会收到类型验证的德语错误消息,还会收到英文消息"此值应为有效数字".这条消息来自哪里,如何摆脱它?
这看起来很简单,但我无法做到:
有三个实体:Fruit,Vegetable和Snack.小吃有田地id,time和food.食物是一个参考或者一个水果或一种蔬菜.所以它基本上是一对多/一对多的关系,因为一个小吃总是只能容纳一种食物.但是有多个目标实体.
我如何在Doctrine2中映射这个?
在了解Doctrine2之前我会使用的一个简单的解决方案是使用两个字段:food_type和food_id.但是,如何从食物类型到正确的实体建立连接?我想到了一个JoinColumns数组,但找不到连接正确实体的方法.我还看了一下映射的超类,因为有一个DiscriminatorColumn,但它似乎也是错误的方法.如果我做对了,超类本身就不能成为一个实体 - 所以我不能创建一个食品实体.
任何帮助表示赞赏.我确定我在这里错过了一些简单的东西.
我注意到将完全相同的pdf文件打印到完全相同的打印机并不总是花费相同的时间:
lpr打印与从Chrome的内置打印对话框打印具有相同的效果.我的目标是从命令行进行打印,lpr从系统对话框开始顺利进行.实际上有什么区别?
lpr -o landscape /path/to/my/file.pdf是我目前的命令.生成的输出是预期的,太慢了.
这可能是Symfony2中要解决的一个简单任务,但我真的被困在这里:
我正在建一个非常简单的商店.有三个实体:Products,Customers,和Orders.最后一个包含三列:customer_id,product_id,和quantity.该商店只包含一个列出所有产品的页面,每个产品都有一个选择字段,每个产品都可以选择数量,然后是一个表单来输入您的客户数据.
我没有问题为客户数据创建表单,也没有列出产品本身(没有选择字段).
但是,如何创建包含产品选择字段的表单,然后该字段应成为订单实体?
我玩了表单集合,我确实理解了向实体添加标签等所有给定的例子.但我不知道如何根据我的情况调整它.
我的想法是这样的:
// Create new customer
$customer = new Customer();
// At this point, create form and validate it.
// Having trouble here, need a hint to get it right.
...
// If form is ok, loop thru all the products.
// Since I do not know yet how to define the form,
// I don't know yet what to loop over, too.
foreach( …Run Code Online (Sandbox Code Playgroud) 我只是很好奇,想知道你们如何处理它,如果你想使用相同的html表单,并尽可能使用相同的PHP代码来创建和更新项目.
示例:
在一个页面上,您可以创建一个包含名称,电子邮件地址和年龄的数据库条目.
在另一个(?)页面上,您会看到填充了数据的表单字段,您可以编辑并保存它.
我有很多方法可以使用相同的代码完成此任务 - 但我希望在这里学到一些东西.那你将如何处理这项任务呢?
谢谢和干杯,扭伤
我目前正在玩Symfony2,到目前为止非常喜欢它.虽然出现了一个问题,但我想知道最佳做法是什么.
如果我想坚持一个实体,我必须这样:
<?php
$myEntity = new Entity();
$myEntity->setSomeData('just an example');
$em = $this->get('doctrine')->getEntityManager();
$em->persist($myEntity);
$em->flush();
Run Code Online (Sandbox Code Playgroud)
这看起来像是一大堆要一遍又一遍地完成的代码.我更喜欢的是这样的:
<?php
$myEntity = new Entity();
$myEntity->setSomeData('just an example');
$myEntity->persist();
Run Code Online (Sandbox Code Playgroud)
但是,根据我必须获得实体经理的方式,这似乎与最佳实践相去甚远.那我该怎么办?有关如何处理它的任何提示?
我正在尝试关注如何使用Symfony2设置一个好的REST API的Will Durand教程.但是,当我收到此错误时,我在一开始就失败了:
The controller must return a response (Array(welcome => Welcome to my API) given).
Run Code Online (Sandbox Code Playgroud)
我的基本配置基本必须是错误的.我已经尝试了不同的fos_rest配置设置,但配置参考并没有提供非常有用,因为我真的不明白单个设置的作用.
我的设置:
//config.yml
sensio_framework_extra:
view:
annotations: true
fos_rest: ~
Run Code Online (Sandbox Code Playgroud)
//Controller
<?php
namespace Acme\Bundle\ApiBundle\Controller;
use FOS\RestBundle\Controller\Annotations as Rest;
class DefaultController
{
/**
* @Rest\View
*/
public function indexAction()
{
return array(
'welcome' => 'Welcome to my API'
);
}
}
Run Code Online (Sandbox Code Playgroud)
我的API应该基于accept标头返回XML或者JSON.永远不会有html输出.
我是Node.js和Socket.io的真正新手 - 所以如果这是一个愚蠢的问题,请耐心等待.
我在Heroku上设置了一个非常基本的假人来测试Socket.io.您所能做的就是单击一个按钮,所有连接的浏览器都会相应地看到一条消息.当服务器在本地运行时,这非常有效.现在它在Heroku上我看到Safari和Chrome上的连接问题.初始连接延迟大约10秒,第一次调用时出现错误503 io.connect('http://myapp.heroku.com/').
在Firefox和Internet Explorer中,几乎可以立即实现连接.
你可以在这里看到应用程序: http://sprain.ch/socketio/
关于什么可能导致这个问题以及如何解决它的任何想法?
这真的在扭曲我的想法...我正在尝试访问我在viewDidLoad中定义的IBAction中的NSMutableArray.不幸的是,我一直在获得EXC_BAD_ACCESS.
我对这一切都很陌生,所以我真的很感激我对自己做错了什么.
下面找到相应的代码摘录.
CounterViewController.h:
@interface CounterViewController : UIViewController{
NSMutableArray *countHistoryArray;
}
@property(nonatomic, retain) NSMutableArray *countHistoryArray;
Run Code Online (Sandbox Code Playgroud)
CounterViewController.m:
@implementation CounterViewController
@synthesize countHistoryArray;
- (void)viewDidLoad {
[super viewDidLoad];
//Fill array with some dummy data
self.countHistoryArray = [[NSMutableArray alloc] init];
NSDate *now = [[[NSDate alloc] init] autorelease];
CurrentCount *historicCount = [[[CurrentCount alloc]
initWithCount:[NSNumber numberWithInteger:22]
description:@"Testcount"
dateAndTime:now] autorelease];
[self.countHistoryArray addObject: historicCount];
//Do some logging - everything is working fine here!
NSLog(@"%@", [self.countHistoryArray description]);
}
//Later on we click on a button and want to use …Run Code Online (Sandbox Code Playgroud)