zend2 양식에 문제가 있습니다. 이 코드 아래 은 zend2에 문자열 값을 반환해야합니다. 방법?
class Campaigns
{
/**
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Column(type="integer")
*/
protected $id;
/**
*
* @ORM\Column(name="campaign_name", type="string")
*
*/
protected $campaigns;
/**
* @var mixed
*
* @ORM\ManyToMany(targetEntity="Application\Entity\Countries", cascade={"persist"}, orphanRemoval=false)
* @ORM\JoinTable(name="campaigns_countries",
* joinColumns={@ORM\JoinColumn(name="campaign_id", referencedColumnName="id", onDelete="CASCADE")},
* inverseJoinColumns={@ORM\JoinColumn(name="country_id", referencedColumnName="id", onDelete="CASCADE")}
* )
*/
protected $countries;
는 getter 및 setter하는 구조의 기능을 추가하고있다 : 나는 데이터베이스에서 일부 데이터를 가져 와서 일부 테이블을 조인하는 엔티티 ... 여기
가 실체를 만들어 제거 함수. 여기
그들은 다음과 같습니다
public function getId()
{
return $this->id;
}
public function setId($id)
{
$this->id = $id;
return $this;
}
public function getCampaigns()
{
return $this->campaigns;
}
public function setCampaigns($campaigns)
{
$this->campaigns = $campaigns;
return $this;
}
public function addCampaigns($campaigns = null)
{
foreach ($campaigns as $c) {
if (!$this->campaigns->contains($c)) {
$this->campaigns->add($c);
}
}
}
public function removeCampaigns($campaigns)
{
foreach ($campaigns as $c) {
if ($this->campaigns->contains($c)) {
$this->campaigns->removeElement($c);
}
}
}
public function getCountries()
{
return $this->countries;
}
public function setCountries($countries)
{
$this->countries = $countries;
return $this;
}
public function addCountries($countries = null)
{
foreach ($countries as $c) {
if (!$this->countries->contains($c)) {
$this->countries->add($c);
}
}
}
public function removeCountries($countries)
{
foreach ($countries as $c) {
if ($this->countries->contains($c)) {
$this->countries->removeElement($c);
}
}
} //construct for countries
public function __construct()
{
$this->setCountries(new ArrayCollection());
}
내 문제는 protected $countries
함께. 양식에 속성 값을 추가하면 엔터티에없는 "국가"속성이 표시됩니다.
내가 추가하고, 대신 __toString()
기능을 사용하지 않을 경우, 그것은 나에게 나는 다음과 같은 코드를 추가는 __toString()
기능에 ... 문자열로 국가를 변환 할 수 없다는 오류 제공 :
public function __toString()
{
return $this->countries;
}
을
도와 주셔서 감사합니다!
AE
원하는 것은 무엇입니까? 국가 선택 요소? 캠페인에 관련된 모든 국가의 목록? 또한,'__toString'은 분명히 ** 문자열 **을 반환해야합니다! –
캠페인의 모든 관련 국가 목록은 내가 원하는 것입니다. 응답 해 주셔서 감사합니다. –