小编joh*_*ohn的帖子

在Symfony2中设置表单值转换器的默认值

我在Symfony2中设置了以下表单类型,我试图添加一个默认值,dateField但似乎无法让它工作.

在下面的"Tried 1"中,我得到一个"表单的视图数据应该是类DateTime的实例,但是是一个(n)字符串"错误...这让我感到困惑,因为如果我给它一个字符串它告诉我它必须是一个DateTime对象,并且在"Tried 2"中它运行时没有错误,但没有更改默认值.目前表单默认为'-0001-11-30 00:00:00'.有没有办法设置这样的默认值?

$builder
        ->add(
            $builder->create('dateField', 'hidden' )->addViewTransformer( new DateTimeToStringTransformer() )
        )
        ->add('field2', 'hidden')
        ->add('field3', 'hidden')
        ->add('submit', 'submit')
        ->getForm();
Run Code Online (Sandbox Code Playgroud)

试过1:

->add($builder->create('boutDate', 'hidden', array('data' => new \DateTime()))->addViewTransformer( new DateTimeToStringTransformer() ))
Run Code Online (Sandbox Code Playgroud)

尝试2:

->add(
    $builder->create('boutDate', 'hidden' )->addViewTransformer( new   DateTimeToStringTransformer() ),
        'hidden',
        array('data' => '2014-01-02')
)
Run Code Online (Sandbox Code Playgroud)

php symfony

13
推荐指数
1
解决办法
468
查看次数

在Docker上使用Phantomjs(或wkhtmltoimage)screengrab时模糊的角落和糟糕的渲染

我正在尝试从HTML生成图像(jpg或png),我已经尝试过PhantomJS(通过php中的jonnyw/php-phantomjs)和wkhtmltoimage,但它们在生成图像时都有同样的问题.任何边框半径,图像或字体都有非常糟糕的锯齿状边缘,并且根本不脆.

起初我以为没有加载字体,但我的字体图标工作正常,它们的质量非常差.我有100个质量设置,当在任何网站上使用Phantomjs或wkhtmltoimage时,我得到相同的结果.

在此输入图像描述

有谁知道是什么原因引起的?

UPDATE

在此输入图像描述

更新2

这是jonnyw/php-phantomjs使用的代码:

        $client = Client::getInstance();
        $client->isLazy();
        $client->getEngine()->setPath('phantomjs');
        $client->getEngine()->debug(true);

        $width  = 560;
        $height = 670;
        $top    = 1;
        $left   = 1;

        $request = $client->getMessageFactory()->createCaptureRequest('https://myurltoscreengrab.com', 'GET');
        $request->setOutputFile('uploads/stats/test.png');
        $request->setFormat('png');

        $request->setViewportSize($width, $height);
        $request->setCaptureDimensions($width, $height, $top, $left);

        $response = $client->getMessageFactory()->createResponse();

        // Send the request
        $client->send($request, $response);
Run Code Online (Sandbox Code Playgroud)

使用JS

/**
 * Set up page and script parameters
 */
var page       = require('webpage').create(),
    system     = require('system'),
    response   = {},
    debug      = [],
    logs       = [],
    procedure  = {},
    resources  = 0,
    timeout;

/**
 * …
Run Code Online (Sandbox Code Playgroud)

php webkit phantomjs wkhtmltoimage docker-compose

13
推荐指数
1
解决办法
673
查看次数

让cron在php上运行:7-fpm图像

我是码头工人的新手.我使用php:7-fpm图像设置了dockerfile.除了用于运行我的网站的这个图像,我想添加一个cron,以便能够执行常规任务.

我创建了一个cron里,把它放在正确的文件夹,并运行docker exec -ti myimage_php_1 /bin/bashcron或者,如果我tail的日志文件,一切工作正常.但是在创建容器时我无法使用它,我不想显然手动启动cron.

根据我的理解,我需要在启动时使用CMDENTRYPOINT运行cron命令,但每次我这样做都会因为我覆盖CMD/ENTRYPOINT原始php:7-fpm图像的必要功能而停止我的网站工作.有没有办法触发cron命令并继续像以前一样使用php:7-fpm CMD/ENTRYPOINTs?

php docker

8
推荐指数
1
解决办法
7451
查看次数

每次COUNT()函数,还是存储值并将其递增1?

我有一个用户'投票'表和'用户'表的数据库.我认为数据库会在很短的时间内变得非常大,所以我想使用最有效的方法.

我想我每次都可以用"投票"表格中的WHERE语句COUNT()投票数量,或者我可以将得分存储在"用户"表中,每次投票时都将其增加1添加.

哪个最好/最快,和/或有没有其他方法这样做?

mysql database performance record-count

7
推荐指数
1
解决办法
1666
查看次数

如果定时器达到0,则添加测验定时器,淡出/跳到下一个

我是jQuery的新手,但熟悉其他一些语言.我最近买了一个测验类型的脚本,我试图为每个问题添加一个简单的15秒计时器.这只是一个有趣的测验,因此无需担心用户使用javascript来增加时间等.

基本上,如果用户在15秒内没有选择问题,它将自动转到下一个问题并且计时器重新开始.

答案有.next标签,当被选中时,它会移动到下一个问题,如下面的代码所示(希望如此).

superContainer.find('.next').click(function () {

            $(this).parents('.slide-container').fadeOut(500, function () {
                $(this).next().fadeIn(500)
            });

            return false
});
Run Code Online (Sandbox Code Playgroud)

setInterval我遇到的问题是,如果我使用,我不知道如何再次选择适当的div来淡化我们并在下一个淡入淡出.我已经尝试了下面的代码和一些类似的斗志,但它不起作用,但也许它会更好地了解我所追求的东西.

superContainer.find('.next').click(function () {

    $active_count = $count;

    countInterval = setInterval(function() {
                $active_count--;
                if($active_count <= 0){
                    clearInterval(countInterval);
                    $active_count = $count;
                    $(this).parents('.slide-container').fadeOut(500, function () {
                        $(this).next().fadeIn(500)
                    });
                }
                $('.question-timer').html($active_count);
            }, 1000);

            $(this).parents('.slide-container').fadeOut(500, function () {
                $(this).next().fadeIn(500)
            });

            return false
});
Run Code Online (Sandbox Code Playgroud)

我一两天都在使用JQuery,所以请原谅任何明显的错误和错误的代码!如果您需要任何其他代码或信息,请与我们联系

javascript jquery setinterval

7
推荐指数
1
解决办法
1657
查看次数

计算类别和子类别的组合点

我目前正在使用点系统,该系统使用下面的查询列出一个类别中的点数最多的人或其下方的任何类别(使用'category_relations表'中的'links_to'和'links_from').

SELECT  u.name, 
        pa.user_id, 
        SUM(IF(pa.plus = '1', pa.points_amount, 0)) - 
        SUM(IF(pa.plus = '0', pa.points_amount, 0)) AS points
FROM    points_awarded pa, Users u
WHERE   u.user_id = pa.user_id AND 
        (
           category_id = '" . $category_id . "' OR 
           category_id IN
               (
                   SELECT links_to
                   FROM category_relations
                   WHERE links_from = '" . $category . "'
               )
        ) 
GROUP BY user_id 
ORDER BY points DESC 
LIMIT 50
Run Code Online (Sandbox Code Playgroud)

我现在要做的是切换此查询以查找特定用户的所有类别,而不是查找特定类别的所有用户.以下是我尝试使用的查询,但这仅包括类别的点,而不是下面的子类别.

SELECT   u.name, 
         pa.user_id, 
         pa.category_id,
         SUM(IF(pa.plus = '1', pa.points_amount, 0)) - 
         SUM(IF(pa.plus = '0',pa.points_amount, 0)) AS points
FROM …
Run Code Online (Sandbox Code Playgroud)

mysql sum

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

基于前 2 个元素从嵌套列表中删除重复项

仅当前 2 个元素相同时,我才尝试从嵌套列表中删除重复项,而忽略第三个...

列表:

L = [['el1','el2','value1'], ['el3','el4','value2'], ['el1','el2','value2'], ['el1','el5','value3']]
Run Code Online (Sandbox Code Playgroud)

会返回:

L = [['el3','el4','value2'], ['el1','el2','value2'], ['el1','el5','value3']]
Run Code Online (Sandbox Code Playgroud)

我在这里找到了一种简单的方法来做类似的事情

dict((x[0], x) for x in L).values()
Run Code Online (Sandbox Code Playgroud)

但这仅适用于第一个元素而不适用于前两个元素,但这正是我想要的。

python list

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

doctrine和Symfony 2中的DateTime字段

我是Symfony2的新手,并设置了一个表单,通过doctrine将日期时间数据输入MySQL数据库,但是我收到以下错误:

The form's view data is expected to be of type scalar, array or an instance of \ArrayAccess, but is an instance of class DateTime. You can avoid this error by setting the "data_class" option to "DateTime" or by adding a view transformer that transforms an instance of class DateTime to scalar, array or an instance of \ArrayAccess.
Run Code Online (Sandbox Code Playgroud)

当我尝试该array('data_class' => 'dateTime')字段的建议设置但我在缓存的树枝模板中得到以下内容:

Catchable Fatal Error: Object of class DateTime could not be converted to string in
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一些方法来使这个工作,但似乎没有任何工作!

在我的实体中,它被声明如下:

    /** …
Run Code Online (Sandbox Code Playgroud)

php mysql doctrine symfony

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

提高MySQL中2个左连接和多个SUM的性能

我不是MySQL专家,因为它可能从我的查询中显示,但我设法得到我的查询给我想要的结果,但对我来说似乎很慢:

SELECT 
    bouts.bout_id,
    bouts.bout_date,
    bouts.winner,
    bouts.result,
    bouts.ended_in_round,
    bouts.total_rounds,
    bouts.verified AS verified,
    CONCAT(opponent.first_name, ' ', opponent.last_name) AS opponent_name,
    opponent.last_name AS opponent_lastname,
    opponent.id AS opponent_id,
    IF(opponent.id = bouts.boxer_1, bouts.boxer_1_weight, bouts.boxer_2_weight) AS opp_weight,
    IF(opponent.id = bouts.boxer_1, bouts.boxer_2_weight, bouts.boxer_1_weight) AS fighter_weight,
    SUM(opp_bouts.ended_in_round) AS opp_total_rounds_boxed,
    SUM(IF(opp_bouts.winner = -1,1,0)) AS opp_draws,
    SUM(IF(opp_bouts.winner = opponent.id,1,0)) AS opp_wins,
    COUNT(opp_bouts.bout_id) AS opp_fights,
    IF(opponent.id = bouts.boxer_1, bouts.bxr2_power_points, bouts.bxr1_power_points) AS boxer_power,
    IF(opponent.id = bouts.boxer_1, bouts.bxr2_chin_points, bouts.bxr1_chin_points) AS boxer_chin,
    IF(opponent.id = bouts.boxer_1, bouts.bxr2_boxer_points, bouts.bxr1_boxer_points) AS boxer_boxer,
    SUM(IF(opponent.id = opp_bouts.boxer_1, opp_bouts.bxr1_power_points, opp_bouts.bxr2_power_points)) AS …
Run Code Online (Sandbox Code Playgroud)

php mysql indexing performance

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

当两者都在/ app目录中时扩展树枝模板

我正在尝试在symfony2中创建自定义错误页面,但是在error.html.twig中使用我的网站主题/布局时遇到了问题

如此处所述:http : //symfony.com/doc/current/cookbook/controller/error_pages.html

我已经改写了错误文件,并将自己的文件放入app/Resources/TwigBundle/views/Exception/error.html.twig。如果我使用静态内容,则一切正常,但我想像对{% extends '::base.html.twig' %}其他所有页面一样使用,因此可以复制当前的布局和样式。

base.html.twig位于app/Resources/views/base.html.twig。如何扩展此模板?

另外,出于好奇,是否有任何方法可以在我的一个捆绑软件中覆盖错误页面而无需特别制作“ TwigBundle”捆绑软件?

更新

好的,借助“ wouter J”解决了这个问题。事实证明,已找到文件,但正在扩展的文件正在使用is_granted。app.user and按照文档中的说明添加到if语句即可解决该问题。

php symfony twig

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

在 TF2 的损失函数中使用中间层的输出

我正在尝试在 Tensorflow 2 中复制 OpenPose 的训练,作为我的 TF2 学习的一部分,但为了能够做到这一点,我需要在损失函数中使用 S、L 中间层的输出。

我尝试过使用函数式 API,但我似乎无法从 S/L 层获取输出,以便能够根据需要在损失函数中使用它们。我可以看到这如何通过子类化来实现,但这会增加复杂性并且不适合调试。在我的学习阶段,调试和易用性可能会是一个巨大的优势。

有什么方法可以使用函数式 API 或顺序模型来创建这种类型的模型吗?

在此输入图像描述

machine-learning tensorflow tensorflow2.0

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

在一个查询中获取每周,每月,每年的数据

我有一个显示用户统计信息的页面,我想知道从表中获取每周,每月,每年和所有时间统计数据的最佳方法是在一个查询中?

目前我正在使用单独的查询来检查每个日期范围内的结果,但必须有更好的方法.例如,我想计算过去一个月,一周和一年中'votes'='1'的所有行.

mysql time

0
推荐指数
1
解决办法
3233
查看次数

Docker,引用不同的容器。使用php命令调用mysqldump

我使用 Docker 在 Symfony3 项目上安装了一个数据库备份包 ( https://github.com/dizda/CloudBackupBundle ),但我无法让它工作,因为它找不到 PHP 或找不到 MySQL

当我php app/console --env=prod dizda:backup:start通过 exec、run 或通过 cron 运行时。我通过 PHP 映像收到 mysqldump 命令未找到错误,或从 Mysql/db 映像收到 PHP 未找到错误。

如何运行 php 命令,然后运行 ​​mysqldump 命令。

我的 docker-compose 文件如下:

version: '2'
services:
    web:
        # image: nginx:latest
        build: .
        restart: always
        ports:
            - "80:80"
        volumes:
            - .:/usr/share/nginx/html
        links:
            - php
            - db
            - node
        volumes_from:
            - php
        volumes:
            - ./logs/nginx/:/var/log/nginx
    php:
        # image: php:fpm
        restart: always
        build: ./docker_setup/php
        links:
            - redis
        expose:
            - …
Run Code Online (Sandbox Code Playgroud)

php mysql symfony docker docker-compose

0
推荐指数
1
解决办法
1327
查看次数