Php 关联映射实体删除检查
我有两个具有多对一关联映射的实体Php 关联映射实体删除检查,php,symfony,Php,Symfony,我有两个具有多对一关联映射的实体 <?php namespace AppBundle\Entity; use Doctrine\ORM\Mapping as ORM; use Doctrine\Common\Collections\ArrayCollection; /** * @ORM\Table(name="ShopType") * @ORM\Entity(repositoryClass="AppBundle\Repository\ShopTypeRepository") */
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
/**
* @ORM\Table(name="ShopType")
* @ORM\Entity(repositoryClass="AppBundle\Repository\ShopTypeRepository")
*/
class ShopType
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $shtId;
/**
* @ORM\Column(type="string", length=255)
*/
private $shtName;
/**
* @ORM\Column(type="integer")
*/
private $shtCreateuid;
/**
* @ORM\Column(type="DateTime")
*/
private $shtCreatedate;
/**
* @ORM\Column(type="integer")
*/
private $shtModifyuid;
/**
* @ORM\Column(type="DateTime")
*/
private $shtModifydate;
/**
* @ORM\Column(type="integer")
*/
private $shtdelete;
/**
* One Shop Type has Many Shops.
* @OneToMany(targetEntity="Shop", mappedBy="shtId")
*/
private $shids;
// ...
public function __construct() {
$this->shids = new ArrayCollection();
}
/**
* Set shtId
*
* @param string $shtId
* @return ShopType
*/
public function setShtId($shtId)
{
$this->shtId = $shtId;
return $this;
}
/**
* Get shtId
*
* @return integer
*/
public function getshtId()
{
return $this->shtId;
}
/**
* Set shtName
*
* @param string $shtName
* @return ShopType
*/
public function setShtName($shtName)
{
$this->shtName = $shtName;
return $this;
}
/**
* Get shtName
*
* @return string
*/
public function getShtName()
{
return $this->shtName;
}
/**
* Set shtCreateuid
*
* @param integer $shtCreateuid
* @return ShopType
*/
public function setShtCreateuid($shtCreateuid)
{
$this->shtCreateuid = $shtCreateuid;
return $this;
}
/**
* Get shtCreateuid
*
* @return integer
*/
public function getShtCreateuid()
{
return $this->shtCreateuid;
}
/**
* Set shtCreatedate
*
* @param \DateTime $shtCreatedate
* @return ShopType
*/
public function setShtCreatedate($shtCreatedate)
{
$this->shtCreatedate = $shtCreatedate;
return $this;
}
/**
* Get shtCreatedate
*
* @return \DateTime
*/
public function getShtCreatedate()
{
return $this->shtCreatedate;
}
/**
* Set shtModifyuid
*
* @param integer $shtModifyuid
* @return ShopType
*/
public function setShtModifyuid($shtModifyuid)
{
$this->shtModifyuid = $shtModifyuid;
return $this;
}
/**
* Get shtModifyuid
*
* @return integer
*/
public function getShtModifyuid()
{
return $this->shtModifyuid;
}
/**
* Set shtModifydate
*
* @param \DateTime $shtModifydate
* @return ShopType
*/
public function setShtModifydate($shtModifydate)
{
$this->shtModifydate = $shtModifydate;
return $this;
}
/**
* Get shtModifydate
*
* @return \DateTime
*/
public function getShtModifydate()
{
return $this->shtModifydate;
}
/**
* Set shtdelete
*
* @param string $shtdelete
* @return ShopType
*/
public function setShtDelete($shtdelete)
{
$this->shtdelete = $shtdelete;
return $this;
}
/**
* Get shtdelete
*
* @return integer
*/
public function getshtDelete()
{
return $this->shtdelete;
}
}
如何将``shtdelete`标志设置为1?是否直接调用settersetShtDelete
?是通过表单完成的吗?不确定这个答案是否是您想要的,但您可以向ShopType:hasShops()添加一个方法{return(bool)count($this->shids);}
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table(name="Shop")
* @ORM\Entity(repositoryClass="AppBundle\Repository\ShopRepository")
*/
class Shop
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $shId;
/**
* Many Features have One Product.
* @ManyToOne(targetEntity="ShopType", inversedBy="shids")
* @JoinColumn(name="shtId", referencedColumnName="sht_id")
*/
private $shtId;