@Mister8891

Yii2 Не могу вывести статический метод из модели выдает Call to undefined method app\models\Category::model(), что не так?

Не могу вывести статический метод из модели выдает Call to undefined method app\models\Category::model()
Вот код модели
public static function All()
{
$models = self::model()->findAll();
$array = array();
foreach($models as $key)
{
$array[$key->id] = $key->title;
}

return $array;
}

public static function menu()
{
$models = self::model()->findAllByAttributes(array('position'=>$position));

$array = array();


if($posiyion=='top')
{
$array[] = ['label' => '', 'url' => ['/page/index/id/1']];
}

foreach($models as $one)
{
$array[] = ['label' => '', 'url' => ['/page/index/id/'.$one->id]];
}


if($position=='top')
{
$array[] = Yii::$app->user->isGuest ?
['label' => 'Войти', 'url' => ['/site/login']] :
['label' => 'Выйти (' . Yii::$app->user->identity->username . ')',
'url' => ['/site/logout'],
'linkOptions' => ['data-method' => 'post']];
}
}

Пытаюсь вывести в Layouts main.php так
Category::menu('top')

Весь код такой
<?php
NavBar::begin([
'options' => [
'class' => 'navbar-inverse',
],
]);
echo Nav::widget([
'options' => ['class' => 'navbar-nav navbar-left'],
'items' => Category::menu('top')
]);
NavBar::end();
?>

Но всегда выдает ошибку что бы я не делал. Надеюсь на помощь.
  • Вопрос задан
  • 3206 просмотров
Решения вопроса 1
sanchezzzhak
@sanchezzzhak
Ля ля ля...
self::model() это Yii1 этого статичного метода в yii2 нету

Вам надо делать так

self::find() или findOne итд

Прочтите гайд на эту тему
https://github.com/yiisoft/yii2/blob/master/docs/g...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы