Как передать параметр / раскрывающееся значение в функцию модели

Я использую улучшенный шаблон yii2

Не уверен, что имеет отношение к проблеме / решению, но чтобы попасть в категорию, у меня есть форма с некоторым javascript, который при изменении перенаправляет пользователя в выбранную категорию.

У меня есть следующий код, который позволяет мне получить доступ к сообщениям в этой категории, я иду на localhost: 8888 / advanced / article / category? Id = 1

В настоящий момент проблема заключается в том, что если я вызываю функцию getCategoryName в моей модели из представления моей категории, то параметр id не передается в функцию модели, поэтому при использовании getCategoryName по умолчанию используется sport.

 public function actionCategory($id)
{

$model = new Article();

$searchModel = new ArticleSearch();

$query = Article::find()
->where(['category' => $id]);

$dataProvider = new ActiveDataProvider([
'query' => $query,
]);

return $this->render('category', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
'model'=>$model,
]);
}

Затем, на мой взгляд, я использую следующее, что в какой-то степени работает с точки зрения выполнения функции модели, однако я не уверен, как передать параметр / текущий идентификатор категории в функцию модели. Приведенный ниже код работает для _index & в виде одной статьи.

<?= $model->CategoryName ?>

Это моя модель функции

public function getCategoryName($category = null)
{
$category = (empty($category)) ? $this->category : $category ;

if ($category === self::CATEGORY_ECONOMY)
{
return Yii::t('app', 'Economy');
}
elseif ($category === self::CATEGORY_SOCIETY)
{
return Yii::t('app', 'Society');
}
else
{
return Yii::t('app', 'Sport');
}
}

1

Решение

Используйте что-то вроде этого, по вашему мнению

$request = Yii::$app->request;
$id = $request->get('id');//get id from request or change according to your requirement
echo  $model->getCategoryName($id);//full method name here
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]