наследование — производные классы в Php Phalcon

Я довольно новичок в php phalcon и сам язык. Я делаю сайт, который включает абстрактный класс и производные классы.

Абстрактный класс:

<?php

abstract class UsersAbstract extends \Phalcon\Mvc\Model {

private $Full_Name; //
private $Mobile_Number; //
private $Email_ID; //
private $City; //
private $Country;  //
private $DoB; //
private $Gender; //
private $Age; //
private $Availability_Flag;   /*value of flag is 1 for active and 0 for inactive*//********setters and getters for all data members which I have not written here*******/public function getSource()
{
return 'users_abstract';
}
}

Производный класс

<?php
class UserPatients extends UsersAbstract
{
private $Patient_ID;
private $Guardian_Name;
private $Doctors = array();

public function getSource()
{
return 'user_patients';
}

/***************setter and getter for patient id*******************/
public function getPatientID()
{
return $this->Patient_ID;
}
public function setPatientID($value)
{
$this->Patient_ID = $value;
}

/****************setter and getter for guardian name******************/
public function getGuardianName()
{
return $this->Guardian_Name;
}
public function setGuardianName($value)
{
$this->Guardian_Name = $value;
}

/****************getter and setter for doctor array*********************/
public function getDoctors()
{
return $this->Doctors;
}

public function setDoctors($value)
{
$this->Doctors = $value;
}}

В моем контроллере я читаю данные из формы в представлении. Объект класса UserPatients объявлен, и его члены данных установлены. Вот метод действия, который я вызываю в контроллере PatientSignInController:

public function SaveAction()
{
if (!empty($_POST)){
$patient_data = new UserPatients();
$patient_data->setFull_Name($_POST['Full_Name']);
$patient_data->setGuardianName($_POST['Guardian_Name']);
$patient_data->setDoB($_POST['DoB']);
$patient_data->setAge($_POST['Age']);
$patient_data->setGender($_POST['gender']);
$patient_data->setMobile_Number($_POST['Contact_No']);
$patient_data->setEmail_Address($_POST['Email_ID']);
$patient_data->setCity($_POST['City']);
$patient_data->setCountry($_POST['Country']);
$patient_data->setPatientID($_POST['Patients_ID']);
$patient_data->setFlag(1);

$doctorsArray = array("ACD","ABC"); //some hard coded values for the time being
$patient_data->setDoctors($doctorsArray);

$patient_medical_info = new PatientInfo();

$patient_medical_info->setBP($_POST['BP']);
$patient_medical_info->setTemperature($_POST['Temperature']);
$patient_medical_info->setInformation($_POST['Info']);
$patient_medical_info->setPatientID($_POST['Patients_ID']);
$patient_medical_info->setDateOfMeeting(date("d/m/y"));

$patient_data->save();
$patient_medical_info->save();$this->response->redirect("../../../../WebMCare/PatientSignIn/Index");

}
}

Структура моей базы данных такая же, как у этих классов — у меня есть таблица Users_Abstract со всеми атрибутами абстрактного класса и у меня есть таблица User_Patients со всеми атрибутами дочернего класса.

Когда я нажимаю кнопку сохранения в форме в представлении и проверяю таблицы базы данных, я обнаруживаю, что новые записи добавляются в patient_info Таблица. Это означает, что $patient_medical_info->save() работает.

Тем не менее, таблица users_abstract не содержит никаких новых данных для соответствующего объекта, в то время как таблица user_patients действительно получает связанные данные. Я проверил сообщения на наличие ошибок в методе сохранения, но ничего не вернул.
Кажется, я ничего не могу найти в Интернете.
Пожалуйста, помогите мне.

Я попытался сохранить данные в одной таблице, связав одну таблицу со всеми 12 атрибутами для классов UsersAbstract а также User_Patients, Даже это не работает.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …