小编mrM*_*tir的帖子

JMSSerializer反序列化集合

我在反序列化学说集合的序列化集合时遇到问题.找不到关于那个和任何主题的文档,我是JMSSerializer的新手.当我尝试反序列化:

$collection = $serializer->deserialize($jsonData,'Doctrine\Common\Collections\ArrayCollection','json');
Run Code Online (Sandbox Code Playgroud)

$ collection是空的

当我设置为null而不是类名时,我在结果上有关联数组.是否有一种优雅的方式来反序列化json?

编辑:抱歉.这是序列化的集合:

[{"id":88,"name":"Poland","created_at":"2012-09-28T11:59:06+0000"},{"id":90,"name":"Great Britain","created_at":"2012-09-28T11:59:06+0000"}]
Run Code Online (Sandbox Code Playgroud)

symfony doctrine-orm jmsserializerbundle

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

JMSSerializerBundle具有关系的实体中的序列化组

我在使用组序列化具有许多关系的实体时遇到问题.我有这样一个序列化相关实体的问题.

假设我有两个实体:产品和相关元素.

/**
 *
 * @Serializer\ExclusionPolicy("none")
 */
class Product {

    /**
     * Primary key
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     * 
     * @Serializer\Groups({"list","details"})
     * @Serializer\Type("integer")
     */
    protected $id;

    /**
     * @Serializer\Groups({"list","details"})
     * @Serializer\Type("string")
     */
    protected $name;

    /**
     * @ORM\Column(name="description", type="string", length=4096, nullable=true)
     * 
     * @Serializer\Groups({"details"})
     * @Serializer\Type("string")
     */
    protected $description;

    /**
     * @var ArrayCollection
     * 
     * @ORM\OneToMany(targetEntity="Madden\ProjectBundle\Entity\ProjectResource", mappedBy="project")
     * @Serializer\Groups({"details"})
     * @Serializer\Type("ArrayCollection<Element>")
     */
    protected $details1;

    /**
     * Relation to project tasks
     * @ORM\OneToMany(targetEntity="Madden\ProjectBundle\Entity\ProjectTask", mappedBy="project") …
Run Code Online (Sandbox Code Playgroud)

symfony doctrine-orm jmsserializerbundle

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

Symfony2 DOMCrawler selectLink返回null uri

编写功能测试和DOMCrawler时遇到问题.我的问题是通过链接抓取邮件内容.从文档中我看到可以使用html内容作为参数创建爬虫.所以这是我的代码块:

$mailCrawler = new Crawler($message->getBody());
$linkCrawler = $mailCrawler->selectLink('Link name');
$client->click($linkCrawler->link());
Run Code Online (Sandbox Code Playgroud)

在第三行,我有一个例外,因为$ linkCrawler有空的$ uri字段.异常消息:

InvalidArgumentException: Current URI must be an absolute URL ("").
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我为什么爬虫不能获得该链接?

我只能告诉$ message var getBody方法返回正确的内容.

问候

php functional-testing symfony

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