<?php

namespace App\Models\Nav;

use App\Models\Base;
use Illuminate\Database\Eloquent\SoftDeletes;

/**
 * b端控制, c端显示的导航
 * @author:dc
 * @time 2023/5/8 16:14
 * Class BNav
 * @package App\Models
 */
class BNav extends Base
{

    protected $table = 'gl_web_nav';
    //连接数据库
    protected $connection = 'custom_mysql';
    use SoftDeletes;

    public $hidden = ['deleted_at'];
    public $appends = ['able_import'];


    /**
     * 显示
     */
    const STATUS_ACTIVE = 1;

    /**
     * 隐藏
     */
    const STATUS_DISABLED = 0;


    /**
     * @author zbj
     * @date 2023/11/22
     */
    public static function ableImportMap($url=''){
        $map = [
            'products' => '\\App\\Models\\Product\\Category',
            'news' => '\\App\\Models\\News\\NewsCategory',
            'blog' => '\\App\\Models\\Blog\\BlogCategory',
        ];
        if ($url){
            return $map[$url] ?:"";
        }
        return $map;
    }


    /**
     * 是否有下级
     * @param int $id
     * @param int $project_id
     * @return mixed
     * @author:dc
     * @time 2023/5/9 9:23
     */
    public static function isChild(int $id,int $project_id=0)
    {
        return static::where(['pid'=>$id,'project_id'=>$project_id])->limit(1)->count();
    }

//    /**
//     * @remark :获取图片
//     * @name   :getImageAttribute
//     * @author :lyh
//     * @method :post
//     * @time   :2023/9/18 16:20
//     */
//    public function  getImageAttribute($value)
//    {
//        $value = getImageUrl($value);
//        return $value;
//    }
//
//    /**
//     * @remark :获取图片
//     * @name   :getImageAttribute
//     * @author :lyh
//     * @method :post
//     * @time   :2023/9/18 16:20
//     */
//    public function  getRemarkImageAttribute($value)
//    {
//        $value = getImageUrl($value);
//        return $value;
//    }

    /**
     * 是否支持一键导入
     * @param $value
     * @return int
     * @author zbj
     * @date 2023/11/21
     */
    public function getAbleImportAttribute($value)
    {
        if(in_array($this->url, array_keys(self::ableImportMap()))){
            return 1;
        }
        return 0;
    }
}