小编Lau*_*kas的帖子

Doctrine2 ORM不会保存对DateTime字段的更改

我有一个用户实体:

use Doctrine\ORM\Mapping as ORM;

/**
 * ExampleBundle\Entity\User
 *
 * @ORM\Entity()
 */
class User
{
    // ...

    /**
     * @ORM\Column(type="service_expires_at", type="date", nullable=true)
     */
    private $service_expires_at;

    public function getServiceExpiresAt()
    {
        return $this->service_expires_at;
    }

    public function setServiceExpiresAt(\DateTime $service_expires_at)
    {
        $this->service_expires_at = $service_expires_at;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我将用户更新service_expires_at为以下内容时,更新后的service_expires_at不会保存回数据库:

$date = $user->getServiceExpiresAt(); 

var_dump($date->format('Y-m-d')); // 2013-03-08

$date->modify('+10 days');

var_dump($date->format('Y-m-d')); // 2013-03-18

$user->setServiceExpiresAt($date);

$em->persist($user);
$em->flush();
Run Code Online (Sandbox Code Playgroud)

但是,如果我传递一个新DateTime对象service_expires_at,则更新的值将正确保存:

$date = $user->getServiceExpiresAt(); 

$date->modify('+10 days');

$user->setServiceExpiresAt(new \DateTime($date->format('Y-m-d'));

$em->persist($user);
$em->flush();
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

oop encapsulation doctrine-orm

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

Ansible任务 - 克隆没有SSH转发的私有git

我正在尝试创建一个Ansible playbook,它将从我们的开发团队计算机和CI/CD服务器运行.

该手册中的任务之一是从私有git存储库获取我们项目的源代码.由于剧本必须从CI/CD服务器运行,我们无法使用SSH转发.

我想到的是将必要的SSH私钥复制到远程主机,然后使用密钥克隆来自私有git存储库的代码.

但是在尝试此操作时,克隆任务会挂起.尝试手动启动命令时,它会要求输入SSH私钥的密码.SSH密钥不使用密码(空白).

任何人都可以分享这个(可能非常常见的)问题的解决方案吗?

如果有人需要,这是我目前的剧本:

- name: Create SSH directory
  file: path=/root/.ssh state=directory

- name: Copy SHH key for Git access
  copy:
    content: "{{ git_ssh_key }}"
    dest: /root/.ssh/id_rsa
    owner: root
    group: root
    mode: 0600

# Also tried this, but it also hangs
#- name: Start SSH agent and add SSH key
#  shell: eval `ssh-agent -s` && ssh-add

- name: Get new source from GIT
  git: 
    key_file: /root/.ssh/id_rsa
    repo: "git@gitlab.com:user/repo.git"
    dest: "{{ staging_dir }}"
    depth: 1
    accept_hostkey: yes …
Run Code Online (Sandbox Code Playgroud)

git ansible ansible-2.x

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

标签 统计

ansible ×1

ansible-2.x ×1

doctrine-orm ×1

encapsulation ×1

git ×1

oop ×1