Files

41 lines
1.0 KiB
PHP

<?php
declare(strict_types=1);
namespace plugin\article\app\dao;
use core\base\BaseDao;
use plugin\article\app\model\Category;
class CategoryDao extends BaseDao
{
protected function setModel(): string
{
return Category::class;
}
protected function getKeywordFields(): array
{
return ['name', 'slug', 'description'];
}
public function selectModel(
array $where,
array|string $field = '*',
int $page = 0,
int $limit = 0,
string $order = '',
array $with = [],
bool $search = false,
?array $withoutScopes = null
): \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Query\Builder|\Illuminate\Pagination\LengthAwarePaginator|null {
$query = parent::selectModel($where, $field, $page, $limit, $order, $with, $search, $withoutScopes);
if ($query instanceof \Illuminate\Database\Eloquent\Builder) {
$query->withCount(['contents as article_count']);
}
return $query;
}
}