Контролер не видит переенной в модели

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
alexa777
Сообщения: 299
Зарегистрирован: 2016.03.01, 17:38

Контролер не видит переенной в модели

Сообщение alexa777 »

Привет. У меня есть контроллер для редактирования профиля ProfileController, хочу сделать загрузку аватарки. У меня есть таблица images и модель Images.php в которой объявлена переменная public $image;
во вьшке index я сделал поле <?= $form->field($model, 'image')->fileInput() ?>
и при загрузке profile/index выдает ошибку
Error
Access to undeclared static property: common\models\Images::$image
вот этот экшен, весь день пыхчу не могу победить

Код: Выделить всё

    public function actionIndex()
    {
        return $this->render('index', [
            'model' => $this->findModel(),
            'model' => Images::$image,
        ]);
    }

подскажите каr его правильно сделать чтобы он увидел переменную $image
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: Контролер не видит переенной в модели

Сообщение andku83 »

вместо второго 'model' написать 'image'
alexa777
Сообщения: 299
Зарегистрирован: 2016.03.01, 17:38

Re: Контролер не видит переенной в модели

Сообщение alexa777 »

shnir писал(а): 2018.02.23, 18:56 вместо второго 'model' написать 'image'
Пробовал, выводит ту же ошибку
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: Контролер не видит переенной в модели

Сообщение andku83 »

Images::$image - а чему здесь равна переменная?
alexa777
Сообщения: 299
Зарегистрирован: 2016.03.01, 17:38

Re: Контролер не видит переенной в модели

Сообщение alexa777 »

shnir писал(а): 2018.02.23, 19:07 Images::$image - а чему здесь равна переменная?
Ничему, вот эта модель

Код: Выделить всё

<?php

namespace common\models;

use Yii;
use yii\web\UploadedFile;


/**
 * This is the model class for table "images".
 *
 * @property int $id
 * @property string $name
 * @property string $refer
 * @property int $refer_id
 * @property int $user_id
 */
class Images extends \yii\db\ActiveRecord
{
    
    public $image;
     
    
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'images';
    }
.......
detected
Сообщения: 174
Зарегистрирован: 2017.06.16, 12:24

Re: Контролер не видит переенной в модели

Сообщение detected »

public static $image;
alexa777
Сообщения: 299
Зарегистрирован: 2016.03.01, 17:38

Re: Контролер не видит переенной в модели

Сообщение alexa777 »

detected писал(а): 2018.02.23, 19:28 public static $image;
теперь вообще ее не видит
Unknown Property – yii\base\UnknownPropertyException
Getting unknown property: common\models\User::image
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: Контролер не видит переенной в модели

Сообщение andku83 »

alexa777 писал(а): 2018.02.23, 19:11

Код: Выделить всё

    public $image;
это свойство ОБЪЕКТА к которому можно обратиться только через объект, а не класс

Код: Выделить всё

$image = new Images();
echo $image->image;
а вашем случае вы туда ничего не ложили чтобы что-то оттуда доставать...
alexa777
Сообщения: 299
Зарегистрирован: 2016.03.01, 17:38

Re: Контролер не видит переенной в модели

Сообщение alexa777 »

shnir писал(а): 2018.02.23, 20:19
alexa777 писал(а): 2018.02.23, 19:11

Код: Выделить всё

    public $image;
это свойство ОБЪЕКТА к которому можно обратиться только через объект, а не класс

Код: Выделить всё

$image = new Images();
echo $image->image;
а вашем случае вы туда ничего не ложили чтобы что-то оттуда доставать...
Попробовал но нечего не вышло
если в модели

Код: Выделить всё

public static $image;
и Экшен

Код: Выделить всё

 public function actionIndex()
    {
        $image = new Images();
        
        return $this->render('index', [
            'model' => $this->findModel(),
            'image' => $image->image,
        ]);
    }
То ошибка
Getting unknown property: common\models\Images::image
А если в модели

Код: Выделить всё

public $image;
то ошибка
Getting unknown property: common\models\User::image
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: Контролер не видит переенной в модели

Сообщение andku83 »

я вообще не понимаю зачем вам модель Images.
обратите внимание на https://github.com/yii-dream-team/yii2-upload-behavior все хранится в модели владельце

З.Ы. и когда задаете вопросы попытайтесь представить что вы ничего не знаете о вашей проблеме и прочтите/поймите свой вопрос самостоятельно
Последний раз редактировалось andku83 2018.03.12, 14:12, всего редактировалось 1 раз.
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Контролер не видит переенной в модели

Сообщение urichalex »

Не надо передавать Images::$image
Ответить