@963468

Почему переменная не попадает в сессию yii2?

Это моя модель Category.php
public static function findOne($id)

      {

        $data = self::find()
              ->where(['id' => $id])
              ->one();

        return $data;

      }


мой экшен в контроллере SiteController.php

public function actionAdd($id)
    {
      
        $item = Category::findOne($id);
        $session = Yii::$app->session;
        $session->set('item', $item);
        return $this->render('list',['item' => Yii::$app->session->get("item")]);
        }


мои вьюшки

это index.php
use yii\helpers\Html;
use yii\helpers\Markdown;
<div class="btn-toolbar filters">
      <input type="checkbox" value="Music" >
    <?= Html::a('Add',  ['site/add', 'id'=>$item->'1'], ['class' => 'btn btn-success'])?>
    </label>
    <label class="btn btn-default">
      <input type="checkbox" value="Video" >
    <?= Html::a('Add',  ['site/add', 'id'=>$item->'2'], ['class' => 'btn btn-success'])?>
    </label>
    <label class="btn btn-default">
      <input type="checkbox" value="Pictures" >
        <?=$threecategory->title ?>
    <?= Html::a('Add',  ['site/add', 'id'=>$item->'3'], ['class' => 'btn btn-success'])?>
    </label>
</div>


это list.php

<?php
use \yii\helpers\Html;
use yii\widgets\LinkPager; 
/* @var $this yii\web\View */
/* @var $products common\models\Product[] */
?
<p>Вы добавили категорию себе <a href="<?= Yii::$app->urlManager->createUrl(['site/add',  'item' => $item]) ?>"><?=$item ?>:</a></p>
  • Вопрос задан
  • 459 просмотров
Пригласить эксперта
Ответы на вопрос 2
mannaro
@mannaro
Умею профессионально гуглить
Я за вас рад, что у Вас есть такие листинги, но тут у вас 2 варианта:
а) идете на фриланс и ищете человека, что вам решит все проблемы за денежку;
б) формулируете свой вопрос нормально и показываете, что пытались разобраться в проблеме, тогда, возможно, вам помогут.

Мне кажется, люди стали забывать, что Тостер - это сайт для помощи разработчикам; сайт для того, чтобы разобраться в проблеме и научится ее решать, а не для того, чтобы умные дяди решали чьи-то проблемы, давая готовые решения.
Ответ написан
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
1. В Yii findOne($id) есть изначально, зачем функцию писать в моделе?
2. $session->set('item', $item); - задает, а не добавляет. У Вас в сессии нет элемента 'item', поэтому, наверное, стоит использовать $session->add('item', $item);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы