小编spr*_*ain的帖子

Twig:if语句中的in_array或类似内容?

我使用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)

twig

194
推荐指数
5
解决办法
23万
查看次数

使用FOSUserBundle创建新用户失败

我试图从命令行创建一个新用户并收到此错误:

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并且还没有找到任何解决方案.

有任何想法吗?

symfony fosuserbundle

47
推荐指数
2
解决办法
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.如何验证输入是否为整数值?

另一个问题是,在输入明显无效的值(如字母串)后,我不仅会收到类型验证的德语错误消息,还会收到英文消息"此值应为有效数字".这条消息来自哪里,如何摆脱它?

validation symfony

14
推荐指数
4
解决办法
3万
查看次数

具有多个目标实体的多对一

这看起来很简单,但我无法做到:

有三个实体:Fruit,VegetableSnack.小吃有田地id,timefood.食物是一个参考或者一个水果一种蔬菜.所以它基本上是一对多/一对多的关系,因为一个小吃总是只能容纳一种食物.但是有多个目标实体.

我如何在Doctrine2中映射这个?

在了解Doctrine2之前我会使用的一个简单的解决方案是使用两个字段:food_typefood_id.但是,如何从食物类型到正确的实体建立连接?我想到了一个JoinColumns数组,但找不到连接正确实体的方法.我还看了一下映射的超类,因为有一个DiscriminatorColumn,但它似乎也是错误的方法.如果我做对了,超类本身就不能成为一个实体 - 所以我不能创建一个食品实体.

任何帮助表示赞赏.我确定我在这里错过了一些简单的东西.

php database symfony doctrine-orm

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

为什么macOS系统打印速度比Chrome或lpr更快?

我注意到将完全相同的pdf文件打印到完全相同的打印机并不总是花费相同的时间:

  • 从macOS预览的默认打印对话框打印速度非常快.
  • 从Chrome浏览器的内置打印对话框打印速度较慢.打印机在启动打印作业后暂停一会儿.
  • 从命令行lpr打印与从Chrome的内置打印对话框打印具有相同的效果.
  • 但是,使用Chrome切换到系统打印对话框会让事情再次变得快速.

我的目标是从命令行进行打印,lpr从系统对话框开始顺利进行.实际上有什么区别?

lpr -o landscape /path/to/my/file.pdf是我目前的命令.生成的输出是预期的,太慢了.

printing macos google-chrome lpr macos-sierra

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

Symfony2:如何创建具有多个子实体的实体表单?

这可能是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)

forms symfony

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

最佳实践:使用相同的表单进行创建和更新

我只是很好奇,想知道你们如何处理它,如果你想使用相同的html表单,并尽可能使用相同的PHP代码来创建和更新项目.

示例:
在一个页面上,您可以创建一个包含名称,电子邮件地址和年龄的数据库条目.
在另一个(?)页面上,您会看到填充了数据的表单字段,您可以编辑并保存它.

我有很多方法可以使用相同的代码完成此任务 - 但我希望在这里学到一些东西.那你将如何处理这项任务呢?

谢谢和干杯,扭伤

html php forms

6
推荐指数
2
解决办法
2872
查看次数

如何在Symfony2中使持久化变得简单?

我目前正在玩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)

但是,根据我必须获得实体经理的方式,这似乎与最佳实践相去甚远.那我该怎么办?有关如何处理它的任何提示?

php persist symfony

6
推荐指数
2
解决办法
3586
查看次数

控制器必须返回给定的响应数组

我正在尝试关注如何使用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输出.

symfony fosrestbundle

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

为什么Safari和Chrome上的Socket.io连接速度很慢

我是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/

关于什么可能导致这个问题以及如何解决它的任何想法?

node.js socket.io

5
推荐指数
2
解决办法
7162
查看次数

Zerofill与Doctrine2

这看起来很容易,但我无法完成:
如何使用Doctrine2将列定义为UNSIGNED ZEROFILL?

我在文档中找不到任何有关它的信息.

感谢任何帮助!

php doctrine-orm

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

iPhone SDK:NSMutableArray计数导致EXC_BAD_ACCESS

这真的在扭曲我的想法...我正在尝试访问我在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)

iphone exc-bad-access nsmutablearray

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