Skip to content
New issue

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

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

Already on GitHub? Sign in 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants