::class
используется для разрешения имени класса. Это означает, что оно возвращает полное имя класса, что особенно полезно, при работе с длинными именами классов. Это тоже самое, что self::class
self означает текущий, а Post::class
используется для получение имени класса поста. $this->category_id
откуда оно получается? Если там просто ID, то это ID можно подменить. Правильней сначала запросить категорию и уже, если категория найдена получать её ID $category->id
link()
[
'components' => [
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => true,
'suffix' => '.html',
'rules' => [
// ...
],
],
],
]