小编Lig*_*art的帖子

Postgres Alter表将列类型从char转换为bigint

可能重复:
如何在postgresql 8.4中将列数据类型从字符更改为数字

如果我有一个varchar类型的字段(并且所有值都是null或数字的字符串表示),我如何使用alter table将此列类型转换为bigint?

postgresql

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

默认情况下,将自定义doctrine输出walker应用于所有查询

我写了以下自定义助行器来使用postgres的ilike而不是像:

use Doctrine\ORM\Query\SqlWalker;

class IlikeWalker extends SqlWalker
{
     /**
     * Walks down a SelectClause AST node, thereby generating the desired SQL.
     *
     * @param $selectClause
     * @return string The SQL.
     */
    public function walkLikeExpression($likeExpr)
    {
        $sql = parent::walkLikeExpression($likeExpr);
        $sql = str_replace('LIKE', 'ILIKE', $sql);
        return $sql;
    }
}
Run Code Online (Sandbox Code Playgroud)

可以通过以下方式添加到任何查询:

      $query->setHint( $query::HINT_CUSTOM_OUTPUT_WALKER
                     ,'\DoctrineExtensions\WalkerBundle\Walker\IlikeWalker' );
Run Code Online (Sandbox Code Playgroud)

但是,如何启动服务或应用配置以自动将其用于每个查询?

postgresql doctrine symfony

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

修改Symfony表单html属性/覆盖单个属性

我试图弄清楚如何使用Symfony2表单动态修改html属性.

这种情况是大多数时间使用默认占位符的情况,但有时,开发人员需要编写自定义消息.

我的表单类型如下所示:

    <?php

    namespace My\AwesomeBundle\FormType;

    use Symfony\Component\Form\AbstractType;
    use Symfony\Component\Form\FormBuilderInterface;
    use Symfony\Component\OptionsResolver\OptionsResolverInterface;
    use My\AwesomeBundle\Transformer\ProcedureCodeTransformer;

    class ProcedureType extends AbstractType
    {

        private $em;
        private $user;


        public function __construct($em, $securityContext)
        {
            $this->em=$em;
            $this->user=$securityContext->getToken()->getUser();
        }

        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            $transformer = new ProcedureTransformer( $this->em );
            $builder->addModelTransformer( $transformer );
        }

        public function setDefaultOptions(OptionsResolverInterface $resolver)
        {
            $user = $this->user;
            $resolver->setDefaults(
                array(
                    'class'       => 'My\AwesomeBundle\Entity\Procedure',
                    'label'       => 'Procedure',
                    'label_attr'  => array( 'class'=> 'control-label' ),
                    'required'    => false,
                    'empty_value' => '',

                    'attr'        => array(
                        'class' …
Run Code Online (Sandbox Code Playgroud)

symfony-forms symfony

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

壳牌扩张与heredoc

对于所有命令,如何在heredoc中进行子shell扩展?

例如:

file=report_$(date +%Y%m%d)
cat <<EOF > $file
    date
    hostname
    echo 'End of Report'
EOF
Run Code Online (Sandbox Code Playgroud)

以便评估所有命令?

我知道

file=report_$(date +%Y%m%d)
cat <<EOF > $file
    $(date))
    $(hostname)
    $(echo 'End of Report')
EOF
Run Code Online (Sandbox Code Playgroud)

会工作,但有没有办法默认指定子shell?

bash

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

动态树枝变量名称

给定一组发送到树枝模板的变量,例如:

$form   = $this->createForm( new ServiceItemType()
                           , $entity
                           , array( 'attr'=>
                                     array(
                                          'em'    => $this->EM()
                                         ,'group' => true
                           ) ) );
Run Code Online (Sandbox Code Playgroud)

我想捕获变量以便在树枝中轻松访问.然而:

{% for key, value in form.vars.attr %}
    {% set key = value %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

重新映射for循环中的键变量.

树枝对象:

{% for key, value in form.vars.attr %}
    {% set {{key}} = value %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

我知道堆栈似乎永远不会解决集合问题.有谁知道,请说明如何完成这个变量赋值?

symfony twig

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

Symfony2:在链配置的命名空间中找不到类'Doctrine\Common\Collections\ArrayCollection'

尝试保持一对多关系时发生错误.特别是,客户可能有多个家庭成员; 给定的家庭成员与一个且仅一个客户相关联.[我是Symfony的新手,因此预计会出现错误!]您的指导感激不尽.

NB下面的Alternate控制器片段通过尝试将家庭表中的客户端ID设置为null来产生完整性约束错误.

客户端实体代码段

namespace Mana\AdminBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;

/**
 * Mana\AdminBundle\Entity\Clients
 *
 * @ORM\Table(name="clients")
 * @ORM\Entity
 */
class Clients
{
    protected $members;

    public function __construct()
    {
        $this->members = new ArrayCollection();
    }

    public function getMembers()
    {
        return $this->members;
    }

    public function setMembers(ArrayCollection $members)
    {
        $this->members = $members;
    }

    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     * @ORM\OneToMany(targetEntity="Household", mappedBy="clients")
     * @ORM\ManyToOne(targetEntity="EthDesc", inversedBy="clients")
     * @ORM\JoinColumn(name="eid", referencedColumnName="id")
     */
Run Code Online (Sandbox Code Playgroud)

家庭实体代码段

namespace Mana\AdminBundle\Entity;

use Doctrine\ORM\Mapping …
Run Code Online (Sandbox Code Playgroud)

persistence symfony doctrine-orm

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

使用twig通过symfony路由将实体传递给控制器

当我将实体传递给twig文件时,我想将该实体传递回控制器并在数据库持久性之前重新渲染.entity是最初从控制器传递的变量.

枝条:

<a href='{{ path('groupitem_new',{'entity' : entity}) }}'>Link Name</a>
Run Code Online (Sandbox Code Playgroud)

这不起作用.该实体未通过.

如何通过symfony路由传递实体?

php symfony twig

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