Comment.php 1.9 KB
<?php
/**
+-----------------------------------------------------------------------------------------------------------------------
 * 模型层:评论
+-----------------------------------------------------------------------------------------------------------------------
 *
 * PHP version 7
 *
 * @category  App\Models
 * @package   App\Models
 * @author    Richer <yangzi1028@163.com>
 * @date      2021年12月23日10:04:50
 * @copyright 2020-2022 Richer (http://www.Richer.com/)
 * @license   http://www.Richer.com/ License
 * @link      http://www.Richer.com/
 */
namespace App\Models;

use App\Models\Traits\MorphMapTrait;
use App\Models\User\User;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\MorphTo;

/**
 * Class Comment
 *
 * @category  App\Models
 * @package   App\Models
 * @author    Richer <yangzi1028@163.com>
 * @date      2021年12月23日10:04:50
 * @copyright 2020-2022 Richer (http://www.Richer.com/)
 * @license   http://www.Richer.com/ License
 * @link      http://www.Richer.com/
 */
class Comment extends Model
{
    use MorphMapTrait;

    // 指定数据库表
    const TABLE = 'comments';
    protected $table = self::TABLE ;

    // 指定对象显示名称:方便系统统一查询和做其他处理
    const OBJ_NAME      = 'comment';
    const OBJ_NAME_ZH   = '评论';

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'user_id', 'commentable_type', 'commentable_id', 'comment', 'is_approved','status'
    ];

    /**
     * @return BelongsTo
     */
    public function user(): BelongsTo
    {
        return $this->belongsTo(User::class)->withTrashed();
    }

    /**
     * @return MorphTo
     */
    public function commentable(): MorphTo
    {
        return $this->morphTo();
    }
}