castopod/app/Models/CategoryModel.php

57 lines
1.2 KiB
PHP
Raw Normal View History

<?php
/**
* @copyright 2020 Podlibre
* @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3
* @link https://castopod.org/
*/
namespace App\Models;
use CodeIgniter\Model;
class CategoryModel extends Model
{
protected $table = 'categories';
protected $primaryKey = 'id';
protected $allowedFields = [
'parent_id',
'code',
'apple_category',
'google_category',
];
protected $returnType = \App\Entities\Category::class;
protected $useSoftDeletes = false;
protected $useTimestamps = false;
public function findParent($parentId)
{
return $this->find($parentId);
}
public function getCategoryOptions()
{
if (!($options = cache('category_options'))) {
$categories = $this->findAll();
$options = array_reduce(
$categories,
function ($result, $category) {
$result[$category->id] = lang(
'Podcast.category_options.' . $category->code
);
return $result;
},
[]
);
cache()->save('category_options', $options, DECADE);
}
return $options;
}
}