<?php
namespace App\Model\Entity;

use Cake\ORM\Entity;

/**
 * Student Entity
 *
 * @property int $id
 * @property int $current_checklist_id
 * @property string $reference_number
 * @property string $title
 * @property string $first_name
 * @property string $surname
 * @property \Cake\I18n\Date $date_of_birth
 * @property \Cake\I18n\Date $last_join_date
 * @property int|null $mod_of_study
 * @property string $birth_place
 * @property string $gender
 * @property string $nationality
 * @property string $passport_number
 * @property string $email
 * @property string $phone_number
 * @property string $address1
 * @property string $address2
 * @property string $city
 * @property string $state
 * @property string $zip_code
 * @property string $country
 * @property string $emergency_contact_name
 * @property string $emergency_contact_relation
 * @property string $emergency_contact_email
 * @property string $emergency_contact_phone_number
 * @property string $speak_language
 * @property string $education_name1
 * @property string $education_year1
 * @property string $education_institution1
 * @property string $education_name2
 * @property string $education_year2
 * @property string $education_institution2
 * @property string $education_name3
 * @property string $education_year3
 * @property string $education_institution3
 * @property string|null $employer_name
 * @property string|null $position
 * @property int|null $status
 * @property int|null $created_by
 * @property int|null $updated_by
 * @property \Cake\I18n\Time|null $created_at
 * @property \Cake\I18n\Time|null $updated_at
 * @property string|null $referring_agent_name
 * @property int|null $referring_agent_id
 *
 * @property \App\Model\Entity\StudentCourse[] $student_courses
 * @property \App\Model\Entity\StudentSession[] $student_sessions
 */
class Student extends Entity
{
    /**
     * Fields that can be mass assigned using newEntity() or patchEntity().
     *
     * Note that when '*' is set to true, this allows all unspecified fields to
     * be mass assigned. For security purposes, it is advised to set '*' to false
     * (or remove it), and explicitly make individual fields accessible as needed.
     *
     * @var array
     */
    protected $_accessible = [
        'current_checklist_id' => true,
        'reference_number' => true,
        'title' => true,
        'first_name' => true,
        'surname' => true,
        'date_of_birth' => true,
        'birth_place' => true,
        'gender' => true,
        'nationality' => true,
        'passport_number' => true,
        'email' => true,
        'phone_number' => true,
        'address1' => true,
        'address2' => true,
        'city' => true,
        'state' => true,
        'zip_code' => true,
        'country' => true,
        'emergency_contact_name' => true,
        'emergency_contact_relation' => true,
        'emergency_contact_email' => true,
        'emergency_contact_phone_number' => true,
        'speak_language' => true,
        'education_name1' => true,
        'education_year1' => true,
        'education_institution1' => true,
        'education_name2' => true,
        'education_year2' => true,
        'education_institution2' => true,
        'education_name3' => true,
        'education_year3' => true,
        'education_institution3' => true,
        'employer_name' => true,
        'position' => true,
        'status' => true,
        'created_by' => true,
        'updated_by' => true,
        'created_at' => true,
        'updated_at' => true,
        'student_courses' => true,
        'student_sessions' => true,
        'mod_of_study' => true,
        'last_join_date' => true,
        'referring_agent_id' => true,
        'referring_agent_name' => true

    ];
}
