1
我有一個原則的問題是,學說:外鍵也不會產生
php bin/console doctrine:schema:update --force
後創建DB而不是外鍵。 我使用註釋,我嘗試使用ManyToOne等註釋中的@ORM \ JoinColumn,但沒有成功。
我希望你們能幫助我。
這裏是我的實體之一的代碼:
<?PHP
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="member")
*/
class Member{
/**
* @ORM\Column(type="string",length=25)
* @ORM\Id
*/
private $code;
/**
* @ORM\Column(type="string",length=25)
*/
private $first_name;
/**
* @ORM\Column(type="string",length=25)
*/
private $last_name;
/**
* @ORM\Column(type="integer")
*/
private $national_id;
/**
* @ORM\Column(type="string",length=25)
*/
private $civil_situation;
/**
* @ORM\Column(type="string",length=1)
*/
private $gender;
/**
* @ORM\Column(type="date")
*/
private $dob;
/**
* @ORM\Column(type="integer")
*/
private $tel_mobile;
/**
* @ORM\Column(type="integer")
*/
private $tel_home;
/**
* @ORM\Column(type="integer")
*/
private $tel_ref;
/**
* @ORM\Column(type="string",length=25)
*/
private $email;
/**
* @ORM\Column(type="date")
*/
private $entry_date;
/**
* @ORM\Column(type="string",length=64)
*/
private $password;
/**
* @ORM\Column(type="integer",nullable=true)
* @ORM\OneToOne(targetEntity="Staff")
*/
private $staff;
/**
* @ORM\Column(type="integer",nullable=true)
* @ORM\OneToOne(targetEntity="Student")
*/
private $student;
/**
* @ORM\Column(type="integer")
* @ORM\ManyToOne(targetEntity="Address")
*/
private $address;
/**
* @ORM\Column(type="integer")
* @ORM\ManyToOne(targetEntity="Faculty")
*/
private $faculty;
/**
* @ORM\Column(type="integer")
*/
private $disable;
/**
* @ORM\Column(type="string",length=25,nullable=true)
*/
private $disable_reason;
/**
* @ORM\Column(type="integer",nullable=true)
*/
private $disable_year;
public function __construct()
{
//nothing
}
// getters and setters
?>
@Lothair您不需要爲關聯指定數據類型,doctrine處理它並根據數據庫引擎分配數據類型。對於MySql,它是int。我的soln是否修復了它?如果修復,請注意。並且請刪除您發佈的這些答案,因爲它們不是答案。 – cpxPratik
哦,好吧我不知道這件事。我正在編輯我的所有實體文檔,所以我會告訴你它是否在我完成時工作 – Lothair
它工作到目前爲止,但我只有一個不工作,我張貼代碼以及給出的錯誤: – Lothair