Я действительно разрабатываю персональный проект с Symfony2. И я хочу что-то сделать, но я не знаю, как это сделать. У меня есть объект Recette
, и в этом объекте у меня есть имущество ingredients
Этот ингредиент - тип json_array
.Symfony 2: Save json и отображаемое значение
<?php
namespace sf2\RecetteBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Recette
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="sf2\RecetteBundle\Entity\RecetteRepository")
*/
class Recette
{
// ...
/**
* @var array
*
* @ORM\Column(name="ingredients", type="json_array")
*/
private $ingredients;
// ...
}
?>
В этом json_array
я просто хочу, чтобы сэкономить пару информации. Ex:
["name":"potatoes","quantity":"5kg"]
Здесь вы можете найти мой Entity FormType:
class RecetteType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name','text',array('label' => "test","attr"=>array('class'=>'test')))
->add('completionTime')
->add('ingredients',
'collection',
array(
'type'=>'text',
'prototype'=>true,
'allow_add'=>true,
'allow_delete'=>true,
'options'=>array(
)
)
)
->add('preparation')
->add('recetteCategories')
->add('Ok','submit')
;
}
}
В моей форме я могу добавить с JQuery с любой проблемой добавить ингредиент, но моя проблема заключается в том, что я не могу сохранить информация о количестве. я не знаю, как отображать в моей форме два поля вместо одного для ингредиента.
В настоящее время, когда я сохранить ингредиент у меня есть эти данные в базе данных:
["Potatoes"]
Как я могу отображение в моей форме два поля для ингредиента и как сохранить его в этом формате?
["name":"potatoes","quantity":"5kg"]
Спасибо.
Я хотел бы только отметить, что эти «массивы JSON» на самом деле являются объектами или хэши, и они набираются с фигурными brakets, как '{«имя»:«картофель» } '. – Parziphal