Kdyby Doctrine a vztahy tabulek
- kejlicz
- Člen | 201
Zdravím.
Snažím se naučit pracovat s Kdyby/Doctrine a zasekl jsem na na vazbách. Pročetl jsem dost článků a nejsem schopen zprovoznit jednoduchou jednosměrnou vazbu.
Dostávám chybu
Doctrine\Common\Annotations\AnnotationException
[Semantical Error] The annotation "@Doctrine\ORM\Mapping\manyToOne" in property App\Model\Article::$category does not exist, or could not be auto-loaded.
V DB mám u article.category_id cizí klíč na category.id
Article.php
<?php
namespace App\Model;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table(name="article")
* @ORM\Entity
*/
class Article extends \Kdyby\Doctrine\Entities\BaseEntity
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue
*
* @var int
*/
private $id;
/**
* @ORM\Column(type="text")
*/
private $text;
/**
* @ORM\Column(type="string")
*/
private $title;
/**
* @ORM\Column(type="string")
*/
private $hash;
/**
* @ORM\manyToOne(targetEntity="Category")
* @ORM\joinColumn(name="category_id", referencedColumnName="id")
*/
private $category;
}
Category.php
<?php
namespace App\Model;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table(name="category")
* @ORM\Entity
*/
class Category extends \Kdyby\Doctrine\Entities\BaseEntity
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue
*
* @var int
*/
private $id;
public function getId()
{
return $this->id;
}
}
Co dělám prosím špatně?
- Tomáš Votruba
- Moderator | 1114
Ahoj, jako první vidím manyToOne
→ zkus
ManyToOne
. Stejně tak joinColumn
⇒
JoinColumn
.
Doporučuji používat IDE (PhpStorm), ten tyhle drobnosti hlídá sám.
Editoval Tomáš Votruba (24. 6. 2015 2:15)
- David Kudera
- Člen | 455
Tomáš Votruba napsal(a):
Doporučuji používat IDE (PhpStorm), ten tyhle drobnosti hlídá sám.
S pluginem PHP Annotations ;-)