我的控制器中有以下代码:
foreach ($image->tags as $tag) {
$existingTag = $em->getRepository('AppMainBundle:InstagramTag')->findOneByTag($tag);
if ($existingTag) {
ladybug_dump('existing tag');
} else {
ladybug_dump('non existing tag');
$instagramTag = new InstagramTag();
$instagramTag->setTag($tag);
$em->persist($instagramTag);
}
}
这是我的实体:
/**
* @ORM\Entity
* @ORM\Table(name="app_instagram_tag")
* @ORM\HasLifecycleCallbacks()
*/
class InstagramTag
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
* @ORM\Column(name="tag", type="string", nullable=true)
*/
private $tag;
/**
*
* @ORM\OneToMany(targetEntity="App\MainBundle\Entity\InstagramPictureTag", mappedBy="tag")
*/
private $picturetag;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Get tag
*
* @return string
*/
public function getTag()
{
return $this->tag;
}
/**
* Set tag
*
* @param string $tag
* @return InstagramTag
*/
public function setTag( $tag)
{
$this->tag = $tag;
return $this;
}
}
我最初从一个名为 app_instagram_tag 的空表开始。$image->tags 是一个字符串数组,例如["abc", "test", "etc"]
. 当我开始使用空表时,它怎么可能一直打印existing tag
?