Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Trying to get property of non-object #82

Closed
serjlaw opened this issue May 7, 2018 · 5 comments
Closed

Trying to get property of non-object #82

serjlaw opened this issue May 7, 2018 · 5 comments

Comments

@serjlaw
Copy link

serjlaw commented May 7, 2018

Пытаюсь создать атрибут.
Получаю Trying to get property of non-object
Ругается на /vendor/mirocow/yii2-eav/src/models/EavAttribute.php ->
public function getRequired()
{
return $this->attributeRule->required;
}

@Mirocow
Copy link
Owner

Mirocow commented May 7, 2018

а можно весь трейс?

@serjlaw
Copy link
Author

serjlaw commented May 8, 2018

Можно конечно..

yii\base\ErrorException: Trying to get property of non-object in /var/www/html/vendor/mirocow/yii2-eav/src/models/EavAttribute.php:122
Stack trace:
#0 /var/www/html/vendor/yiisoft/yii2/db/BaseActiveRecord.php(296): yii\base\Component->__get()
#1 /var/www/html/vendor/mirocow/yii2-eav/src/admin/widgets/Fields.php(52): yii\db\BaseActiveRecord->__get()
#2 /var/www/html/vendor/yiisoft/yii2/base/BaseObject.php(109): mirocow\eav\admin\widgets\Fields->init()
#3 /var/www/html/vendor/yiisoft/yii2/di/Container.php(383): yii\base\BaseObject->__construct()
#4 /var/www/html/vendor/yiisoft/yii2/di/Container.php(383): ReflectionClass->newInstanceArgs()
#5 /var/www/html/vendor/yiisoft/yii2/di/Container.php(156): yii\di\Container->build()
#6 /var/www/html/vendor/yiisoft/yii2/BaseYii.php(349): yii\di\Container->get()
#7 /var/www/html/vendor/yiisoft/yii2/base/Widget.php(137): yii\BaseYii::createObject()
#8 /var/www/html/views/product/_form.php(39): yii\base\Widget::widget()
#9 /var/www/html/vendor/yiisoft/yii2/base/View.php(336): yii\base\View->unknown()
#10 /var/www/html/vendor/yiisoft/yii2/base/View.php(254): yii\base\View->renderPhpFile()
#11 /var/www/html/vendor/yiisoft/yii2/base/View.php(156): yii\base\View->renderFile()
#12 /var/www/html/views/product/update.php(18): yii\base\View->render()
#13 /var/www/html/vendor/yiisoft/yii2/base/View.php(336): yii\base\View->unknown()
#14 /var/www/html/vendor/yiisoft/yii2/base/View.php(254): yii\base\View->renderPhpFile()
#15 /var/www/html/vendor/yiisoft/yii2/base/View.php(156): yii\base\View->renderFile()
#16 /var/www/html/vendor/yiisoft/yii2/base/Controller.php(384): yii\base\View->render()
#17 /var/www/html/controllers/ProductController.php(94): yii\base\Controller->render()
#18 /var/www/html/vendor/yiisoft/yii2/base/InlineAction.php(57): app\controllers\ProductController->actionUpdate()
#19 /var/www/html/vendor/yiisoft/yii2/base/InlineAction.php(57): ::call_user_func_array:{/var/www/html/vendor/yiisoft/yii2/base/InlineAction.php:57}()
#20 /var/www/html/vendor/yiisoft/yii2/base/Controller.php(157): yii\base\InlineAction->runWithParams()
#21 /var/www/html/vendor/yiisoft/yii2/base/Module.php(528): yii\base\Controller->runAction()
#22 /var/www/html/vendor/yiisoft/yii2/web/Application.php(103): yii\base\Module->runAction()
#23 /var/www/html/vendor/yiisoft/yii2/base/Application.php(386): yii\web\Application->handleRequest()
#24 /var/www/html/web/index.php(12): yii\base\Application->run()
#25 {main}

@serjlaw
Copy link
Author

serjlaw commented May 8, 2018

Ясно.. Трек такой -> я прикрутил виджет к форме продукта, не увидел его собственно, и создал атрибут через код:
$attr = new mirocow\eav\models\EavAttribute();
$attr->attributes = [
'entityId' => 1, // Category ID
'typeId' => 1, // ID type from eav_attribute_type
'name' => 'sky', // service name field
'label' => 'sky', // label text for form
'defaultValue' => '0', // default value
'entityModel' => Product::className(), // work model
'required' => false // add rule "required field"
];
$attr->save();
в таблицу eav_attribute запись упала, а в таблицу eav_attribute_rules ничего, как следствие он на это и ругался.

@Mirocow
Copy link
Owner

Mirocow commented May 8, 2018

Рулез является не обязательной, предложи вариант как лучше сделать. Или пришли PR с фиксом

@serjlaw
Copy link
Author

serjlaw commented May 8, 2018

  1. Если является необязательной, то почему ругается когда ее нет?
  2. И кстати value вот так не добавляется:
    $model = Product::findOne(1);
    $model->sky = "263513";
    $model->save();
    говорит что нет такого атрибута..
  3. Виджет вроде запустился.. Но нет вкладки "Группы", это наборы атрибутов как я понимаю.. Как сделать что бы были группы?

@serjlaw serjlaw closed this as completed May 11, 2018
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants