Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
symfony 4 fixtures datetime方法不使用PDO数据中的字符串始终设置;现在";_Symfony_Datetime_Pdo_Fixtures - Fatal编程技术网

symfony 4 fixtures datetime方法不使用PDO数据中的字符串始终设置;现在";

symfony 4 fixtures datetime方法不使用PDO数据中的字符串始终设置;现在";,symfony,datetime,pdo,fixtures,Symfony,Datetime,Pdo,Fixtures,我尝试使用Symfony将一些数据从WordPress迁移到我的Symfony应用程序 除了从wordpress mysql数据库的“post_date”列迁移日期之外,一切都正常 例如,我的mysql变量如下所示:$post_value['post_date']='2018-03-30 21:05:24'; 并且是用PDO拍摄的。这个字符串是真实的,我只是复制/粘贴在这里;) 然后我在DataFixtures中有这样的东西: $item = new Articles(); $item->

我尝试使用Symfony将一些数据从WordPress迁移到我的Symfony应用程序

除了从wordpress mysql数据库的“post_date”列迁移日期之外,一切都正常

例如,我的mysql变量如下所示:$post_value['post_date']='2018-03-30 21:05:24'; 并且是用PDO拍摄的。这个字符串是真实的,我只是复制/粘贴在这里;)

然后我在DataFixtures中有这样的东西:

$item = new Articles();
$item->setDateCreated(new \DateTime($post_value['post_date']));
...
$this->manager->persist($item);
...
$this->manager->flush();
在数据库中,它不放置迁移的值,而是一个与使用\datetime(“now”)类似的当前日期时间

我从mysql得到的结果是(new/other database.table.column):

编辑:

//hard print_r for fisrt row

echo "\n ---- \n >>>";
print_r($post_value['post_date']);
echo "<<< \n ---- \n ";
die();

//result with this
 ----
 >>>2010-05-25 23:05:20<<<
 ----
来自sql的这两个结果与迁移所有数据的结果不同,上面的示例只涉及一个条目

EDIT2:

//hard print_r for fisrt row

echo "\n ---- \n >>>";
print_r($post_value['post_date']);
echo "<<< \n ---- \n ";
die();

//result with this
 ----
 >>>2010-05-25 23:05:20<<<
 ----
//第一行的硬打印\r
回显“\n----\n>>>”;
打印($post_值['post_日期]);

echo“我认为问题不在于此代码,而在于实体

两种可能性:

  • 保存实体时,将覆盖日期时间值
  • 该列配置为自动添加“NOW()”函数,而不是变量的值
  • 然后,为了确切地知道发生了什么,你可以使用以下一些线索:

  • 检查您的实体是否使用条令生命周期。如果是,请检查@Prepersist方法期间是否覆盖此datetime值
  • 该列只能由以下人员注释:
    @column(type=“datetime”)
  • 检查您的实体中是否未使用任何可标记时间的捆绑包/特征

  • 如果将语句
    dd($post\u value['post\u date']);
    添加到刚开始的语句
    $item->setDateCreated
    ?该行为表明
    $post\u value['post\u date']
    为空。echo“\n----\n>>”print\r($post\u value['post\u date']);echo”感谢您的响应,我使用了prePersist方法(EventListener)setter$entity->setDateCreated(new\DateTime(“now”)。解决方案正在检查交付的日期值是否为DateTime类的instanceof,如果不是仅使用带有“now”的DateTime