Witam,
Korzystam z konsoli aby wygenerować class'y obiektów za pomocą doctrineentity i później chciałem stworzyć tabele w bazie na podstawie tych class za pomocą polecenia doctrineupdate --force.
Niestety dostaje komunikat :
"No Metadata Classes to process."
No więc w poszukiwaniu rozwiązania przeszukałem internet, zaimplementowałem kilka rozwiązań ale niestety nic to nie dało. No więc tak
wygenerowany automatycznie pliki a oto jeden przykładowy
<?php
namespace zzwp\ZzwpBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Article
*/
class Article
{
/**
* @var integer
*/
private $id;
/**
* @var integer
*/
private $menuId;
/**
* @var string
*/
private $content;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set menuId
*
* @param integer $menuId
* @return Article
*/
public function setMenuId($menuId)
{
$this->menuId = $menuId;
return $this;
}
/**
* Get menuId
*
* @return integer
*/
public function getMenuId()
{
return $this->menuId;
}
/**
* Set content
*
* @param string $content
* @return Article
*/
public function setContent($content)
{
$this->content = $content;
return $this;
}
/**
* Get content
*
* @return string
*/
public function getContent()
{
return $this->content;
}
}
Próbowałem również wyczyścić chace doctrine za pomocą polecenia doctineclear-metadata ale znowu dostawałem ten komunikat.
Jeśli chodzi o ścieżkę do metadanych jest poprawna ponieważ wykorzystałem dodatkową konfigurację doctrine , poniżej
//
orm:
auto_generate_proxy_classes: "%kernel.debug%"
auto_mapping: true
//
dodatkowa konfiguracja
//
mappings:
ZzwpBundle:
type: annotation
is_bundle: true
dir: /Entity
prefix: zzwp\ZzwpBundle\Entity
alias: ZzwpBundle
//
testowałem na pewno wskazuje katalog z klasami.
Stworzyłem inna klasę na podstawie jeszcze jednego wzorca podanego na stronie
<?php
// src/Acme/StoreBundle/Entity/Product.php
namespace Acme\StoreBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="product")
*/
class Product
{
/**
* @Column(type="integer")
* @Id
* @GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @Column(type="string", length=100)
*/
protected $name;
/**
* @Column(type="decimal", scale=2)
*/
protected $price;
/**
* @Column(type="text")
*/
protected $description;
}
Próba zweryfikowania poprawności klas za pomocą polecenia doctrinevalidate kończy się sukcesem
//
[Mapping] OK - The mapping files are correct.
[Database] OK - The database schema is in sync with the mapping files.
//
Niestety ta klasa też nie działa. Wyczaiłem jednak, że coś musi być z tymi adnotacjami/komentarzami dla doctrine, że on ich nie widzi. Nie wiem czy to problem środowiska ?
Prośba o pomoc, zależy mi na czasie.
Pozdrawiam
P.
dodanie znaczników <code>
- @furious programming