belongsTo(Department::class, 'parent_id', 'id'); } public function getParentNameAttribute() { return self::query()->where('id', $this->attributes['parent_id'])->value('name'); } /** * 根据name获取班级id * @param $name * @return mixed */ public static function byNameGetId($name, $is_create = false) { return Cache::remember('model:Department:byNameGetId:' . $name, Carbon::now()->addDay(), function () use ($name, $is_create) { $id = self::query()->where('name', $name)->value('id') ?? 0; if ($id) return $id; if (!$is_create) return $id; $model = self::query()->create(['name' => $name]); return $model['id']; }); } }