'required|max_length[255]|is_unique[marketplace_themes.name]', 'display_name' => 'required|max_length[255]', 'download_url' => 'required', ]; // Get published themes only public function getPublished() { return $this->where('is_published', true) ->orderBy('created_at', 'DESC') ->get() ->getResultArray(); } // Get free themes public function getFreeThemes() { return $this->where('price', 0) ->where('is_published', true) ->orderBy('created_at', 'DESC') ->get() ->getResultArray(); } // Get paid themes public function getPaidThemes() { return $this->where('price >', 0) ->where('is_published', true) ->orderBy('price', 'ASC') ->get() ->getResultArray(); } }