<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

/**
 * App\Models\MailBatch
 *
 * @property int $id
 * @property string $m_subject 邮件标题
 * @property string $m_body 邮件内容
 * @property int $accept_member 收件会员(0:不限 1: 企业 2; 个人)
 * @property int $accept_type 筛选条件(0:不限 1:一周未登录 2:一月未登录)
 * @property \Illuminate\Support\Carbon|null $created_at
 * @property \Illuminate\Support\Carbon|null $updated_at
 * @property string|null $deleted_at
 * @method static bool|null forceDelete()
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\EmailBatch newModelQuery()
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\EmailBatch newQuery()
 * @method static \Illuminate\Database\Query\Builder|\App\Models\EmailBatch onlyTrashed()
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\EmailBatch query()
 * @method static bool|null restore()
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\EmailBatch whereAcceptMember($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\EmailBatch whereAcceptType($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\EmailBatch whereCreatedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\EmailBatch whereDeletedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\EmailBatch whereId($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\EmailBatch whereMBody($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\EmailBatch whereMSubject($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\EmailBatch whereUpdatedAt($value)
 * @method static \Illuminate\Database\Query\Builder|\App\Models\EmailBatch withTrashed()
 * @method static \Illuminate\Database\Query\Builder|\App\Models\EmailBatch withoutTrashed()
 * @mixin \Eloquent
 */
class EmailBatch extends Model
{
    use SoftDeletes;

    protected $table = 'email_batchs';

    protected $fillable = ['name','emails','template_id','accept_member', 'accept_type','m_subject','m_body','target_num','send_num','status'];

    public function template()
    {
        return $this->belongsTo(EmailTemplate::class, "template_id");
    }

    public function queues()
    {
        return $this->hasMany(EmailQueue::class, 'batch_id');
    }
}