0

こんにちは、コマンド プロンプトを使用せずにカスタム エンティティ クラスを作成しています。

1つのテーブル名「プロファイル」を作成したように

次のフィールドを使用します。

id:       type = integer,Pk,
name:     type = string
lastname: type = string,
email:    type = string
gender:   type = enum('male','female'),
country:  type = string
state:     type = string,
city:     type='string',

今私がやっていることは、「Profile.php」という名前のエンティティクラスを1つ作成することです

  <?php

  namespace Blogger\BlogBundle\Entity;

  use Doctrine\ORM\Mapping as ORM;

 class Profile
{

protected $id;


protected $name;

protected $lastname;

protected $email;

protected $image;

protected $gender;

protected $city;

protected $state;

protected $country;


public function getName()
{
    return $this->name;
}

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

public function getLastName()
{
    return $this->lastname;
}
public function setLastName($lastname)
{
    $this->lastname = $lastname;
}

public function getEmail()
{
    return $this->email;
}
public function setEmail($email)
{
    $this->email = $email;
}

public function getImage()
{
    return $this->image;
}
public function setImage($image)
{
    $this->image = $image;
}

public function getGender()
{
    return $this->gender;
}
public function setGender($gender)
{
    $this->gender = $gender;
}

public function getCountry()
{
    return $this->country;
}
public function setCountry($country)
{
    $this->country = $country;
}

public function getState()
{
    return $this->state;
}
public function setState($state)
{
    $this->state = $state;
}

public function getCity()
{
    return $this->city;
}
public function setCity($city)
{
    $this->city = $city;
}
//public function   
}
?>

その後、1 つのドクトリン マッピング ファイル「Profile.orm.yml」を作成しました。

Blogger\BlogBundle\Entity\Profile:
type: profile
table: null
repositoryClass: Blogger\BlogBundle\Entity\ProfileRepository
fields:
    id:
        type: integer
        id: true
        generator:
            strategy: AUTO
    name:
        type: string
        length: '255'
    lastname:
        type: string
        length: '255'
    email:
        type: string
        length: '255'
    gender:
        type: string
        columnDefinition: enum('male','female')
    image:
        type: string
        length: '255'
    country:
        type: string
        length: '255'
    state:
        type: string
        length: '255'
    city:
        type: string
        length: '255'

lifecycleCallbacks: {  }

問題は、プロファイル ページを呼び出しているときに次のエラーが表示されることです。

   Class "Blogger\BlogBundle\Entity\Profile" is not a valid entity or mapped super class. 

ですから、コーディングを忘れなければならない場所が他にあるかどうか教えてください。または現在のファイルのエラー部分。coz、コマンド プロンプトを使用してエンティティを生成すると、同じ 2 つのファイルが作成され、正常に動作します。

しかし、私はカスタムファイルを作成したいので、plsが私を助けてくれます. ありがとう、

4

2 に答える 2

1

まず第一にそれはYMLなのでインデントが重要です(そして読みやすさを改善します);)第二にそれは「プロファイル」ではなく「エンティティ」タイプでなければなりません

Blogger\BlogBundle\Entity\Profile:
    type: entity
    repositoryClass: Blogger\BlogBundle\Entity\ProfileRepository
    fields:
        id:
            type: integer
            id: true
            generator:
                strategy: AUTO
        name:
            type: string
            length: '255'
        lastname:
            type: string
            length: '255'
        email:
            type: string
            length: '255'
        gender:
            type: string
            columnDefinition: enum('male','female')
        image:
            type: string
            length: '255'
        country:
            type: string
            length: '255'
        state:
            type: string
            length: '255'
        city:
            type: string
            length: '255'
    lifecycleCallbacks: {  }

タスクを使用php app/console doctrine:schema:validateして、有効なスキーマおよびマッピング情報があるかどうかを確認してください。

于 2013-02-27T07:35:35.603 に答える
1
type: entity
table: profile

私が思うトリックを行う必要があります。

于 2013-02-27T07:33:40.737 に答える