gpt4 book ai didi

php - Symfony 3 Doctrine 未定义索引

转载 作者:行者123 更新时间:2023-11-29 10:33:34 27 4
gpt4 key购买 nike

我正在尝试使用原则从 MySQL 数据库中获取对象。它与其他存在一对一的关系。我收到此错误:注意:未定义索引:id我应该纠正什么才能使其正常工作?我的获取代码非常简单,我尝试获取所有对象:

    $emArt = $this->getDoctrine()->getRepository(Article::class);
$articles = $emArt->findAll();

模型如下:

文章.php

    /**
* @ORM\Entity
* @ORM\Table(name="Article")
*/
class Article
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $ID;
/**
* @ORM\OneToOne(targetEntity="ArticleTypes", inversedBy="articleTypeId")
* @ORM\JoinColumn(name="articleTypeId", referencedColumnName="id")
*/
private $articleType;
/**
* @ORM\Column(name="articleName", type="text")
*/
private $articleName;
/**
* @ORM\Column(name="content", type="text")
*/
private $content;

/**
* @ORM\Column(name="image", type="string")
* @Assert\File(mimeTypes={ "image/png" })
*/
public $image;

public function getArticleImage()
{
return $this->image;
}

public function setArticleImage($newImage)
{
$this->image = $newImage;
}

public function getArticleContent()
{
return $this->content;
}

public function setArticleContent($name)
{
$this->content = $name;
}

public function getArticleName()
{
return $this->articleName;
}

public function setArticleName($name)
{
$this->articleName = $name;
}

public function getArticleType()
{
return $this->articleType;
}

public function setArticleType($type)
{
$this->articleType = $type;
}

}

ArticleTypes.php

/**
* @ORM\Entity
* @ORM\Table(name="ArticleTypes")
*/
class ArticleTypes
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\OneToOne(targetEntity="Article", mappedBy="articleTypeId")
*/
private $ID;
/**
* @ORM\Column(name="articleType", type="text")
*/
private $articleType;

public function getArticleType()
{
return $this->articleType;
}
public function setArticleType($newType)
{
$this->articleType = $newType;
}
}

最佳答案

这是一个 PHP 通知,不是吗?您还应该在出现错误的文件中找到行号?

但是我在你的学说映射中也看到了错误:你不能在字段中使用像这样的学说注释,你应该将你的关系链接到对象:

 /**
* @ORM\Entity
* @ORM\Table(name="Article")
*/
class Article
{
/**
* @ORM\OneToOne(targetEntity="ArticleTypes", inversedBy="article")
* @ORM\JoinColumn(name="articleTypeId", referencedColumnName="id")
*/
private $articleType;
....
}

还有:

/**
* @ORM\Entity
* @ORM\Table(name="ArticleTypes")
*/
class ArticleTypes
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;

/**
* @var Article $article
* @ORM\OneToOne(targetEntity="Article", mappedBy="articleType")
*/
private $article;

....
}

即使你们有一对一的关系,您也可以有不同的 ID。

关于php - Symfony 3 Doctrine 未定义索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46932309/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com