小编Rey*_*rPM的帖子

可以在Symfony2 + Doctrine2中持久保存存储在会话中的实体吗?

我正在我的项目中处理某种"复杂"的表单,其中实体在每个步骤上都是持久的,因为各个表单都是分开的.然后我迈出了第一步(让我们称之为步骤1),我坚持一个实体并将其存储在会话中,请参阅下面的代码:

$productoSolicitudEntity = new Entity\ProductoSolicitud();
$productoSolicitudForm = $this->createForm(new Form\ProductoSolicitudForm(), $productoSolicitudEntity);
$productoSolicitudForm->handleRequest($request);

if ($productoSolicitudForm->isValid()) {
    $productoSolicitudRequest = $request->get('productoSolicitud');

    try {
        $producto = $em->getRepository("AppBundle:Producto")->find($productoSolicitudRequest['producto']['nombre']);
        $productoSolicitudEntity->setProducto($producto);

        $condicionProducto = $em->getRepository("AppBundle:CondicionProducto")->find($productoSolicitudRequest['condicion_producto']);
        $productoSolicitudEntity->setCondicionProducto($condicionProducto);

        $finalidadProducto = $em->getRepository("AppBundle:FinalidadProducto")->find($productoSolicitudRequest['finalidad_producto']);
        $productoSolicitudEntity->setFinalidadProducto($finalidadProducto);

        $procedenciaProducto = $em->getRepository("AppBundle:ProcedenciaProducto")->find($productoSolicitudRequest['procedencia_producto']);
        $productoSolicitudEntity->setProcedenciaProducto($procedenciaProducto);

        $productoSolicitudEntity->setLote($productoSolicitudRequest['lote']);
        $solicitudUsuario = $em->getRepository("AppBundle:SolicitudUsuario")->find($session->get('solicitudUsuarioEntity')->getId());
        $productoSolicitudEntity->setSolicitudUsuario($solicitudUsuario);

        $em->persist($productoSolicitudEntity);
        $em->flush();

        $session->set('productoSolicitudEntity', $productoSolicitudEntity);
        $response['success'] = true;
    } catch (Exception $ex) {
        $status = 400;
        $response['error'] = $ex->getMessage();
    }
} else {
    $status = 400;
    $response['error'] = $this->get('translator')->trans('formularioNoValido');
    $response['formError'] = $this->getFormErrors($productoSolicitudForm);
}
Run Code Online (Sandbox Code Playgroud)

然后在四个步骤(让我们称之为步骤4)我需要将该实体附加到一个新实体,因为它们是相关的,这是涉及的代码:

$productoSolicitud = $session->get('productoSolicitudEntity');

if (! $productoSolicitud) { …
Run Code Online (Sandbox Code Playgroud)

php orm symfony doctrine-orm

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

位置"0"(键)中的项目未被删除,为什么?

我有这个代码:

    $arr = array(
    "0" => 30,
    "1" => 31,
    "2" => 32,
    "3" => 33
);

if ($key = array_search(30, $arr)) {
    unset($arr[$key]);
}

var_dump($arr);
Run Code Online (Sandbox Code Playgroud)

为什么,如果没有从中删除30$arr?如果您尝试任何其他值3133代码工作,但使用第一个键它没有,我不知道为什么,任何建议?我在这里缺少什么?

php

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

以"人类可读"格式获取日期

我正在使用Symfony2和FOSRestBundle在RESTFul API中工作.实体使用Gedmo作为Timestampable选项:

use Gedmo\Timestampable\Traits\TimestampableEntity;
Run Code Online (Sandbox Code Playgroud)

我得到了createdAt任何其他专栏:

$obj->getCreatedAt()
Run Code Online (Sandbox Code Playgroud)

然后我将该响应传递给FOSRestBundle:

 $respEmail = [
        "id"                 => (string)$entEmail->getId(),
        ...
        "category"           => $entEmail->getEmailsCategory(),
        "createdAt"          => $entEmail->getCreatedAt()
 ];

 $view->setData($respEmail)->setStatusCode(200);
Run Code Online (Sandbox Code Playgroud)

我得到了这个:

{
  "id": "5",
  ...
  "category": "sent",
  "createdAt": "2015-06-12T11:00:55-0430"
}
Run Code Online (Sandbox Code Playgroud)

我该如何修复日期?我想要类似的东西2015-06-12 11:00:55.有帮助吗?

php date symfony fosrestbundle

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

如何让DOM了解动态创建的新元素?

我正在进行AJAX调用,我正在后端构建一些HTML.我将它们作为JSON返回,然后使用jQuery我渲染它们,如:

$(data.message).each(function (index, value) {
    $('#states_table tbody').append('<td>' + value.edit_link + '</td>');
});
Run Code Online (Sandbox Code Playgroud)

value.edit_link 包含以下HTML:

<a id="edit_0" 
   title="Edit" 
   onclick="javascript:return false;" 
   class="edit"
>Edit</a>
Run Code Online (Sandbox Code Playgroud)

然后我会得到这样的东西:

在此输入图像描述

正如您所看到的,链接没有手形光标.我的猜测是,当第一次呈现页面时,DOM不知道它们,因此不会应用CSS属性或默认属性,这让我问:

为了获得与之链接,cursor: hand我如何让DOM了解这些新元素?

html javascript css jquery dom

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

即使我试图忽略它们,.gitignore 仍然跟踪文件,为什么?

我的项目中有以下目录结构:

\n\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 application\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ... <more folders & files goes here>\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 config\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 cronjobs\n\xe2\x94\x82\xe2\x94\x80\xe2\x94\x80 ... <more folders & files goes here>\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 oneview_symfony\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 app\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 bin\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 src\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 tests\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 var\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 vendor\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 web\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 .gitignore\n
Run Code Online (Sandbox Code Playgroud)\n\n

我试图忽略一些文件和文件夹,这是我的.gitignore文件中的规则:

\n\n
oneview_symfony/app/cache/*\noneview_symfony/app/logs/*\n!oneview_symfony/app/cache/.gitkeep\n!oneview_symfony/app/logs/.gitkeep\n\noneview_symfony/app/spool/*\n\noneview_symfony/var/cache/*\noneview_symfony/var/logs/*\noneview_symfony/var/sessions/*\n!oneview_symfony/var/cache/.gitkeep\n!oneview_symfony/var/logs/.gitkeep\n!oneview_symfony/var/sessions/.gitkeep\n\noneview_symfony/app/config/parameters.yml\noneview_symfony/app/config/parameters.ini\n\noneview_symfony/app/bootstrap.php.cache\noneview_symfony/var/bootstrap.php.cache\noneview_symfony/bin/*\n!oneview_symfony/bin/console\n!oneview_symfony/bin/symfony_requirements\noneview_symfony/vendor/*\n\noneview_symfony/web/bundles/\noneview_symfony/web/uploads/   \noneview_symfony/app/phpunit.xml\noneview_symfony/phpunit.xml\noneview_symfony/build/\n\noneview_symfony/web/css/\noneview_symfony/web/js/\n
Run Code Online (Sandbox Code Playgroud)\n\n

有了上面的信息,如果我运行,git status我仍然可以看到下面的文件oneview_symfony/vendor/,为什么?我缺少什么?

\n\n

上述命令的输出示例:

\n\n
    ...\n    new file:   oneview_symfony/vendor/zendframework/zendframework1/resources/languages/pt_BR/Zend_Validate.php\n    new file:   oneview_symfony/vendor/zendframework/zendframework1/resources/languages/ru/Zend_Validate.php\n    new file:   oneview_symfony/vendor/zendframework/zendframework1/resources/languages/sk/Zend_Captcha.php\n    new file:   oneview_symfony/vendor/zendframework/zendframework1/resources/languages/sk/Zend_Validate.php\n    new file:   oneview_symfony/vendor/zendframework/zendframework1/resources/languages/sr/Zend_Validate.php\n    new file:   oneview_symfony/vendor/zendframework/zendframework1/resources/languages/uk/Zend_Validate.php\n    modified:   oneview_symfony/web/.htaccess\n\nChanges not staged for commit:\n  (use …
Run Code Online (Sandbox Code Playgroud)

git github gitignore

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

"usermod:UID'0'已经存在"为什么?

作为我的Docker镜像的一部分,我有以下ENTRYPOINT脚本:

#!/bin/bash
set -e

if [ -z "${UID}" ]; then
    uid=1000;
else
    uid=${UID};
fi

if [ -z "${GID}" ]; then
    gid=1000;
else
    gid=${GID};
fi

echo "UID: $uid"
echo "GID: $gid"

data_dir="/var/www/html"
usermod -u "$uid" www-data && groupmod -g "$gid" www-data
chown -R www-data:root "$data_dir"

if  [ -d "$data_dir" ]; then
    chgrp -RH www-data "$data_dir"
    chmod -R g+w "$data_dir"
    find "$data_dir" -type d -exec chmod 2775 {} +
    find "$data_dir" -type f -exec chmod ug+rw {} +
fi

composer_cache_dir="/var/www/.composer" …
Run Code Online (Sandbox Code Playgroud)

linux bash docker

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

为什么在我点击输入框后立即触发事件?

拥有以下HTML/jQuery代码:

$(function() {
  "use strict";

  var manage_form_listing_grid = $("#manage_form_listing"),
    forms_search = $("#forms_search"),
    btn_search_forms = $("#btn_search_forms"),
    chk_show_archived = $("#show_archived"),
    inp_search_form_by_name = $("#search_form_by_name");

  forms_search.keypress(function(ev) {
    var key = ev.which;
    if (key === 13) {
      btn_search_forms.trigger("click");
      return false;
    }
  });

  forms_search.on("click", btn_search_forms, function(ev) {
    ev.preventDefault();

    var archive = !!chk_show_archived.is(":checked");

    alert("You click me");
  });
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="row">
  <div class="col-md-12">
    <div class="panel panel-default">
      <div class="panel-heading">
        <h3 class="panel-title">Search form</h3>
      </div>
      <div class="panel-body">
        <form class="form-inline" id="forms_search">
          <div class="form-group col-md-5">
            <input type="text" name="search_form_by_name" id="search_form_by_name" class="form-control input-full-width"> …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

每次我尝试导入Drupal数据库时,MySQL服务器就消失了

我正在尝试使用现有网站在我的PC中构建开发环境.我复制了所有数据并导出Drupal DB,而不是缓存*和监视程序表,以使脚本变得很小.当我尝试导入大约12MB的脚本时,我得到"MySQL服务器消失"错误,不知道为什么或如何解决它.我试过从phpMyAdmin,从服务器中的MySQL命令行等等.有帮助吗?

提前致谢

php mysql drupal mysqldump

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

为什么每次单击空链接时都会刷新我的页面?

我有这样的链接:

<a hreflang="15" class="comment-show-link" href="">View/hide comments</a>
Run Code Online (Sandbox Code Playgroud)

然后让这段代码显示/隐藏内容:

$('.comment-show-link').click(function(e) {
  $('#comment-show-'+$(this).attr("hreflang")).slideToggle('slow');
  e.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)

但是,当我点击链接时,页面被发送并且没有显示div"#comment-show-",为什么?我做错了什么?

javascript jquery

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

正则表达式,允许数字之间的点

我需要一些帮助来构建一个匹配数值的RegEx,并允许数字之间有一个点,有效匹配的例子:

25.23.25
25.2323.5656.5656
25
Run Code Online (Sandbox Code Playgroud)

无效匹配的示例:

.25.23.25
25.2323.5656.5656.
25.
25.
Run Code Online (Sandbox Code Playgroud)

可以给我一些帮助吗?

javascript php regex preg-match

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