小编Jon*_*han的帖子

序列化多对多关联对象时,"已检测到循环引用"错误

自从升级到Symfony 2.7以来,在尝试序列化与给定组关联的联系人数组时,我似乎一直在"检测到循环引用"错误.它们是在多对多关联中设置的(一个组有很多联系人;一个联系人有很多组关联).

现在,我遵循指南使用序列化组按照2.7升级帖子,但似乎仍然得到错误.我的控制器代码目前如下:

$group = $this->getDoctrine()
   ->getRepository('TwbGroupsBundle:ContactGroup')
   ->find($id);
$groupContacts = $group->getContacts();

$encoder = new JsonEncoder();
$normalizer = new ObjectNormalizer();
$serializer = new Serializer(array($normalizer), array($encoder));

$json = $serializer->serialize($groupContacts, 'json', array(
    'groups' => array('public')
));
Run Code Online (Sandbox Code Playgroud)

运行时$serializer->serialize(),我在1个循环引用后得到CircularReferenceException.到目前为止,我使用@Groups注释配置了我的Contact实体,如下所示:

/**
 * Contact
 *
 * @ORM\Table(name="tblContacts")
 * @ORM\Entity(repositoryClass="Twb\Bundle\ContactsBundle\Entity\Repository\ContactRepository")
 */
class Contact implements ContactInterface
{
    /**
     * @var string
     *
     * @ORM\Column(name="ContactName", type="string", length=50, nullable=true)
     * @Groups({"public"})
     */
    private $contactname;

    /**
     * @var integer
     *
     * @ORM\Column(name="ContactID", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     * …
Run Code Online (Sandbox Code Playgroud)

serialization symfony

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

如何向PayPal提交多个产品,其中一些产品数量为0

我正在尝试设置一个简单的单页"立即购买"表单,其中包含多个产品列表和一个文本输入框,允许用户指定他们对每个产品的需求量,或指定"0"以不将产品添加到购物车.当然,如果有人的数量只有0,PayPal会返回"您输入的数量值无效.数量值必须是大于或等于1的整数." 是否有一个简单的解决办法让PayPal忽略提交数量为"0"的产品?我的表单基本上看起来像这样(像total_item_*这样的字段用于jquery计算脚本):

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" id="frmCreateCheckboxRange">
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="upload" value="1">
<input type="hidden" name="business" value="youremail@mail.com">
<input type="hidden" name="currency_code" value="US">

<fieldset>
<table width="500">

<!-- Product 1 -->
<tr>
<td align="center">
<input type="text" name="quantity_1" id="qty_item_1" value="0" size="2" />
<input type="hidden" name="item_name_1" value="Non-Driver Event Pit Passes (6/ 29 - 7/ 2)" />
<input type="hidden" name="amount_1" value="30.00" />
</td>
<td>Non-Driver Event Pit Passes (6/ 29 - 7/ 2)</a></td>
<td align="center" id="price_item_1">$30.00</td>
<td align="center" id="total_item_1">$0.00</td>
</tr>

<!-- Product 2 -->
<tr>
<td …
Run Code Online (Sandbox Code Playgroud)

forms paypal

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

标签 统计

forms ×1

paypal ×1

serialization ×1

symfony ×1