2016-10-07 2 views
0

symfony2でdoctrineを通してレコードを挿入する際に、関連フィールドのデフォルト値を渡すには?symfony2でdoctrineを通してレコードを挿入する際に、関連フィールドのデフォルト値を渡すにはどうすればいいですか?

$this->hospitalAdminAppointment->setAppDetail($this->venReqAppReason) 
    ->setvendor($vendor) 
    ->setHospAdminApp($HospitalRequestedAppointment) 
    ->setAppSuperAdmin($superAdmin) 
    ->setPostedByHospSuperUser($postedByHospSuperUser) 
    ->setAppPrimaryCompany($primaryCompany) 
    ->setAppSecondaryCompany($secondryCompany) 
    ->setAppDepartment($this->deptName) 
    ->setAppDate(new \DateTime($this->appointmentDate)) 
    ->setAppTime(new \DateTime($this->appointmentTime)) 
    ->setAppPerson($person) 
    ->setAppAdddedBy(AppointmentRequestAddedByType::VENDOR_REQUEST) 
    ->setAppFromCalender('') 
    ->setVendorRequestedAppointment($vendorRequestedAppointment) 
    ->setAppHospital($hospital); 

$this->em->persist($this->hospitalAdminAppointment); 
$this->em->flush(); 

は「AppSuperAdmin」フィールドここでは、次のように私のエンティティの挿入クエリがあるが、他のテーブルとの関係であり、そのタイプは、整数であり、それは通常のMySQLのクエリを通じて「0」を取って「nullを許可しません」。

毎回AppSuperAdminの値を取得できません。時にはそれをゼロにする必要があることもあります。

お勧めします。

答えて

0

これは、変数$ superAdminの値をどのように設定するかによって異なります。

->setAppSuperAdmin($superAdmin? $superAdmin : 0) 
+0

あなたの答えてくれてありがとうしかし setAppSuperAdminは$オブジェクトが必要である:最も簡単な方法は、そうでない場合は、次のように0を設定して、はい、その値を設定した場合$ superAdminが、設定されているかどうかを確認することです。 私はnullを与えることができませんまたは0 –

+0

あなたのAppSuperAdminクラスのコードを投稿、私はフィールドとコンストラクタを参照する必要があります。 – Medard

関連する問題