1

私はsymfony2を初めて使用します。ポートフォリオコントローラーと呼ばれる基本的なコントローラーと、このコントローラーのインデックスビューを作成しました。Entityクラスも作成しましたが、エラーが発生します。

私のコントローラーは

<?php
namespace IDP\Bundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
 class PortfolioController extends Controller {

    public function indexAction() {
     $product = $this->getDoctrine()
      ->getRepository('IDPBundle:Portfolio')
      ->find(1);
    return $this->render('IDPBundle:Portfolio:index.html.twig');
   }

} 

src / IDP / Bundle / Entity/Portfolio.php内

 <?php
 namespace IDP\Bundle\Entity;
 use Doctrine\ORM\Mapping as ORM;
 use Symfony\Component\Validator\Constraints as Assert;
 class Portfolio
 {
   private $id;
   private $user_id;
   private $portfolio_name;
   private $description;
   private $permalink;
   private $sharingCode;
   private $shared;
   private $shared_portfolio_calls;
   private $patentgroup_id;

public function __construct()
{
    $this->portfolioGroups = new \Doctrine\Common\Collections\ArrayCollection();
}
public function getId()
{
    return $this->id;
}
public function setName($portfolio_name)
{
    $this->name = $portfolio_name;
}
public function setDescription($description)
{
    $this->description = $description;
}
public function getDescription()
{
    return $this->description;
}
public function setSharingCode($sharingCode)
{
    $this->sharingCode = $sharingCode;
}
public function getSharingCode()
{
    return $this->sharingCode;
}
public function setShared($shared)
{
    $this->shared = $shared;
}
public function getShared()
{
    return $this->shared;
}
public function getUser()
{
    return $this->user;
}
}

私のテーブル名はpm_portfoliosで、ポートフォリオクラスで言及したすべてのフィールドが含まれています。

誰かが私が間違っていることを教えてもらえますか?

4

2 に答える 2

2

@ORM\Entityエンティティには、クラス自体やそのプロパティの他のメタデータなど、すべてのORMメタデータがありません。ドキュメントの例を参照してください。

于 2012-05-27T18:42:35.970 に答える
1

EntityクラスにはORMメタデータがありません。このようなものを試してください

 <?php

namespace IDP\Bundle\Entity;

 use Doctrine\ORM\Mapping as ORM;
 use Symfony\Component\Validator\Constraints as Assert;
 /**
 * IDP\Bundle\Entity\Portfolio
 * @ORM\Table(name="pm_portfolios")
 */
class Portfolio
{
/**
 * @var integer $id
 */
private $id;

/**
 * @var integer $user_id
 */
private $user_id;

/**
 * @var string $portfolio_name
 */
private $portfolio_name;

/**
 * @var text $description
 */
private $description;

/**
 * @var string $permalink
 */
private $permalink;

/**
 * @var string $sharing_code
 */
private $sharing_code;

/**
 * @var boolean $shared
 */
private $shared;

/**
 * @var integer $shared_portfolio_calls
 */
private $shared_portfolio_calls;

/**
 * @var integer $patentgroup_id
 */
private $patentgroup_id;


/**
 * Get id
 *
 * @return integer 
 */
public function getId()
{
    return $this->id;
}

/**
 * Set user_id
 *
 * @param integer $userId
 */
public function setUserId($userId)
{
    $this->user_id = $userId;
}

/**
 * Get user_id
 *
 * @return integer 
 */
public function getUserId()
{
    return $this->user_id;
}

/**
 * Set portfolio_name
 *
 * @param string $portfolioName
 */
public function setPortfolioName($portfolioName)
{
    $this->portfolio_name = $portfolioName;
}

/**
 * Get portfolio_name
 *
 * @return string 
 */
public function getPortfolioName()
{
    return $this->portfolio_name;
}

/**
 * Set description
 *
 * @param text $description
 */
public function setDescription($description)
{
    $this->description = $description;
}

/**
 * Get description
 *
 * @return text 
 */
public function getDescription()
{
    return $this->description;
}

/**
 * Set permalink
 *
 * @param string $permalink
 */
public function setPermalink($permalink)
{
    $this->permalink = $permalink;
}

/**
 * Get permalink
 *
 * @return string 
 */
public function getPermalink()
{
    return $this->permalink;
}

/**
 * Set sharing_code
 *
 * @param string $sharingCode
 */
public function setSharingCode($sharingCode)
{
    $this->sharing_code = $sharingCode;
}

/**
 * Get sharing_code
 *
 * @return string 
 */
public function getSharingCode()
{
    return $this->sharing_code;
}

/**
 * Set shared
 *
 * @param boolean $shared
 */
public function setShared($shared)
{
    $this->shared = $shared;
}

/**
 * Get shared
 *
 * @return boolean 
 */
public function getShared()
{
    return $this->shared;
}

/**
 * Set shared_portfolio_calls
 *
 * @param integer $sharedPortfolioCalls
 */
public function setSharedPortfolioCalls($sharedPortfolioCalls)
{
    $this->shared_portfolio_calls = $sharedPortfolioCalls;
}

/**
 * Get shared_portfolio_calls
 *
 * @return integer 
 */
public function getSharedPortfolioCalls()
{
    return $this->shared_portfolio_calls;
}

/**
 * Set patentgroup_id
 *
 * @param integer $patentgroupId
 */
public function setPatentgroupId($patentgroupId)
{
    $this->patentgroup_id = $patentgroupId;
}

/**
 * Get patentgroup_id
 *
 * @return integer 
 */
public function getPatentgroupId()
{
    return $this->patentgroup_id;
}

}

于 2012-05-28T02:08:12.817 に答える