【发布时间】:2015-03-28 14:32:15
【问题描述】:
我正在开发 Php Phalcon,Xampp 服务器。我的模型类形成了一个层次结构。
我有一个 UsersAbstract 类,它具有一些通用属性,如 Full_Name、Email_ID 等。 然后我派生了类 UserOfficials,它具有更多属性,如 Occupation 等。然后我有一个名为 OfficialDoctor 的孙类(继承自 UserOfficials)。 UsersAbstract 类也是 UserPatients 的父类。
当我想访问 UsersAbstract 和 UserPatients 时,我使用了以下代码:
$select_patient = "Select "
."UserPatients.Patient_ID, "
."UserPatients.Unique_ID, "
."UsersAbstract.Full_Name, "
."UsersAbstract.Age, "
."UsersAbstract.Gender, "
."UsersAbstract.City, "
."UsersAbstract.Country FROM UserPatients JOIN UsersAbstract WHERE UsersAbstract.Unique_ID = UserPatients.Unique_ID "
."And UsersAbstract.Availablity_Flag = 1";
$patients = $this->modelsManager->executeQuery($select_patient);
$this->current_patient = $patients[0];
这很好用。现在我想从 UserOfficials 访问一个属性,这是我的代码:
$id = $user->Unique_ID;
$select_doctor = "Select UserOfficials.Occupation from UserOfficials WHERE UserOfficials.Unique_ID = :uid:";
$occ = $this->modelsManager->executeQuery($select_doctor, array("uid" => $id));
这段代码给了我以下错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'usersabstract.Occupation' in 'field list'
我的问题很简短 - 为什么?我正在访问表 UserOfficials 而不是 UsersAbstract。
注意: 我的表和对应的类命名如下:
Class -------------- Table
UsersAbstract ------ UsersAbstract
UserOfficials ------ User_Officials
UserPatients ------- User_Patients
我知道相应数据库表必须使用驼峰式命名,但如果一个查询有效,那么为什么另一个查询无效?
【问题讨论】: