<?php

namespace App\Models;

use Carbon\Carbon;
use function foo\func;
use Illuminate\Database\Eloquent\Model;

class Student extends Model
{
    protected $table = 'students';

    protected $guarded = [];

    public $marry_list;

    public function __construct(array $attributes = [])
    {
        parent::__construct($attributes);

        $this->marry_list = collect([
            ['key' => 1, 'value' => 1, 'show_value' => '未婚'],
            ['key' => 2, 'value' => 2, 'show_value' => '已婚'],
//            ['key' => 3, 'value' => 3, 'show_value' => '离婚'],
        ]);
    }

    public function getMarryList()
    {
        return $this->marry_list;
    }

    public function getMarry($key = null)
    {
        $key = empty($key) ? $this['marry'] : 1;
        $item = $this->marry_list->where('key', $key)->first();
        return empty($item) ? '未婚' : $item['show_value'];
    }

    public function course()
    {
        return $this->belongsTo('App\Models\Course');
    }

    public function getCheckCardDates()
    {
        return CheckCard::where('student_id', $this['id'])->whereNotNull('begin_date_time')->whereNotNull('end_date_time')->get()->pluck('begin_date_time')->map(function ($item) {
            return substr($item, 0, 10);
        })->unique();
    }

    public function getStudentCourse()
    {
        return StudentCourse::where('student_id', $this['id'])->first();
    }
}
