-1
私はSymfony 2のドキュメントを読んでいますが、私はthe model part of the bookで立ち往生しています。私は、コンソール経由でドキュメント上で述べたようにセッターとゲッターを生成し、同じエンティティクラスに私にこれを与えたSymfony 2でのDoctrine 2倍の小数点を告発する
// src/Acme/StoreBundle/Entity/Product.php
namespace Acme\StoreBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="product")
*/
class Product
{
// ...
/**
* @ORM\Column(type="decimal", scale=2)
*/
protected $price;
// ..
}
:
/**
* Set price
*
* @param dicimal $price
*/
public function setPrice(\decimal $price)
{
$this->price = $price;
}
ので、Doctrineがある $price
スケール2
のdicimalです型ヒントを使用して$price
を10進数にする必要があります。
Catchable Fatal Error: Argument 1 passed to
Acme\StoreBundle\Entity\Product::setPrice()
must be an instance of decimal, double given,
これは、それがdefaultCountrollerで呼ばれる方法です: 問題は、それは常にこの例外を発生さ
ここ// ...
public function createAction()
{
$product = new Product();
$product->setName('A Foo Bar');
$product->setPrice('19.99');
$product->setDescription('Lorem ipsum dolor');
$em = $this->getDoctrine()->getEntityManager();
$em->persist($product);
$em->flush();
return new Response('Created product id '.$product->getId());
}
彼らは(ドキュメントのバグかもしれない)が、たとえ文字列で渡しています私はそれを小数に変えます、私は同じ例外を得続けます。 幸いにも私はただ髪を削っただけですが、これで私を助けてください。何が問題ですか?
はい、私は知っています、ヒントは理由のためにそこにあり、それと動作するはずですが、そうではありません。まだ問題は残っています。 – tikider