You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
700 B
28 lines
700 B
<?php |
|
|
|
namespace common\modules\pages\repositories\read; |
|
|
|
use common\modules\pages\entities\Page; |
|
|
|
class PageReadRepository |
|
{ |
|
public function getAll(): array |
|
{ |
|
return Page::find()->typePublic()->andWhere(['>', 'depth', 0])->all(); |
|
} |
|
|
|
public function find($id): ?Page |
|
{ |
|
return Page::findOne($id); |
|
} |
|
|
|
public function findBySlug($slug): ?Page |
|
{ |
|
return Page::find()->typePublic()->andWhere(['slug' => $slug])->andWhere(['>', 'depth', 0])->one(); |
|
} |
|
|
|
public function findPreview($id, $language): ?Page |
|
{ |
|
return $language ? Page::find()->localized($language)->andWhere(['id' => $id])->one() : Page::find()->andWhere(['id' => $id])->one(); |
|
} |
|
} |