feat: add article and production modules
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
<?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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user