Pennebaker / craft-architect

A plugin for importing and exporting content models from Craft 3/4 using JSON.
MIT License
72 stars 6 forks source link

Trying to get property of non-object #28

Closed jsmrtn closed 5 years ago

jsmrtn commented 6 years ago

Craft CMS 3.0.7 / Architect 2.2.8

I'm trying to export a section, we have maybe 15 sections and half of them work correctly and half of them throw this error.

yii\base\ErrorException: Trying to get property of non-object in /home/ism/vendor/pennebaker/craft-architect/src/base/Processor.php:339
Stack trace:
#0 /home/ism/vendor/craftcms/cms/src/web/ErrorHandler.php(84): yii\base\ErrorHandler->handleError(8, 'Trying to get p...', '/home/ism/vendo...', 339)
#1 /home/ism/vendor/pennebaker/craft-architect/src/base/Processor.php(339): craft\web\ErrorHandler->handleError(8, 'Trying to get p...', '/home/ism/vendo...', 339, Array)
#2 /home/ism/vendor/pennebaker/craft-architect/src/base/FieldProcessor.php(281): pennebaker\architect\base\Processor->unmapSectionSources(Array)
#3 /home/ism/vendor/pennebaker/craft-architect/src/base/FieldProcessor.php(430): pennebaker\architect\base\FieldProcessor->unmapSources(Array)
#4 /home/ism/vendor/pennebaker/craft-architect/src/base/FieldProcessor.php(383): pennebaker\architect\base\FieldProcessor->export(Object(craft\fields\Entries), Array, true)
#5 /home/ism/vendor/pennebaker/craft-architect/src/base/FieldProcessor.php(444): pennebaker\architect\base\FieldProcessor->export(Object(craft\fields\Matrix))
#6 /home/ism/vendor/pennebaker/craft-architect/src/controllers/DefaultController.php(128): pennebaker\architect\base\FieldProcessor->exportById('359')
#7 [internal function]: pennebaker\architect\controllers\DefaultController->actionExport()
#8 /home/ism/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)
#9 /home/ism/vendor/yiisoft/yii2/base/Controller.php(157): yii\base\InlineAction->runWithParams(Array)
#10 /home/ism/vendor/craftcms/cms/src/web/Controller.php(76): yii\base\Controller->runAction('export', Array)
#11 /home/ism/vendor/yiisoft/yii2/base/Module.php(528): craft\web\Controller->runAction('export', Array)
#12 /home/ism/vendor/craftcms/cms/src/web/Application.php(273): yii\base\Module->runAction('architect/defau...', Array)
#13 /home/ism/vendor/yiisoft/yii2/web/Application.php(103): craft\web\Application->runAction('architect/defau...', Array)
#14 /home/ism/vendor/craftcms/cms/src/web/Application.php(262): yii\web\Application->handleRequest(Object(craft\web\Request))
#15 /home/ism/vendor/yiisoft/yii2/base/Application.php(386): craft\web\Application->handleRequest(Object(craft\web\Request))
#16 /home/ism/public_html/index.php(21): yii\base\Application->run()
#17 {main}

Happy to provide a SQL dump if you let me know where to send it 👍

spAnser commented 6 years ago

Sure thing send it to spenser@pennebaker.com

spAnser commented 6 years ago

Hey sorry to not get back to this sooner. We have been very busy.

I think we ended up running into the same issue recently. Can you let me know if this was fixed in 2.2.9

jsmrtn commented 6 years ago

'fraid not.

yii\base\ErrorException: Trying to get property of non-object in /home/ism/vendor/pennebaker/craft-architect/src/base/Processor.php:347
Stack trace:
#0 /home/ism/vendor/craftcms/cms/src/web/ErrorHandler.php(84): yii\base\ErrorHandler->handleError(8, 'Trying to get p...', '/home/ism/vendo...', 347)
#1 /home/ism/vendor/pennebaker/craft-architect/src/base/Processor.php(347): craft\web\ErrorHandler->handleError(8, 'Trying to get p...', '/home/ism/vendo...', 347, Array)
#2 /home/ism/vendor/pennebaker/craft-architect/src/base/FieldProcessor.php(281): pennebaker\architect\base\Processor->unmapSectionSources(Array)
#3 /home/ism/vendor/pennebaker/craft-architect/src/base/FieldProcessor.php(430): pennebaker\architect\base\FieldProcessor->unmapSources(Array)
#4 /home/ism/vendor/pennebaker/craft-architect/src/base/FieldProcessor.php(383): pennebaker\architect\base\FieldProcessor->export(Object(craft\fields\Entries), Array, true)
#5 /home/ism/vendor/pennebaker/craft-architect/src/base/FieldProcessor.php(444): pennebaker\architect\base\FieldProcessor->export(Object(craft\fields\Matrix))
#6 /home/ism/vendor/pennebaker/craft-architect/src/controllers/DefaultController.php(128): pennebaker\architect\base\FieldProcessor->exportById('359')
#7 [internal function]: pennebaker\architect\controllers\DefaultController->actionExport()
#8 /home/ism/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)
#9 /home/ism/vendor/yiisoft/yii2/base/Controller.php(157): yii\base\InlineAction->runWithParams(Array)
#10 /home/ism/vendor/craftcms/cms/src/web/Controller.php(76): yii\base\Controller->runAction('export', Array)
#11 /home/ism/vendor/yiisoft/yii2/base/Module.php(528): craft\web\Controller->runAction('export', Array)
#12 /home/ism/vendor/craftcms/cms/src/web/Application.php(273): yii\base\Module->runAction('architect/defau...', Array)
#13 /home/ism/vendor/yiisoft/yii2/web/Application.php(103): craft\web\Application->runAction('architect/defau...', Array)
#14 /home/ism/vendor/craftcms/cms/src/web/Application.php(262): yii\web\Application->handleRequest(Object(craft\web\Request))
#15 /home/ism/vendor/yiisoft/yii2/base/Application.php(386): craft\web\Application->handleRequest(Object(craft\web\Request))
#16 /home/ism/public_html/index.php(21): yii\base\Application->run()
#17 {main}
spAnser commented 6 years ago

Okay I fixed a different issue then. Mine had to do with section fields.

m-meintjes commented 5 years ago

Hey there,

Craft CMS 3.1.1 / Architect Version 2.2.11

It seems that I have a similar problem exporting fields with architect.

Every time I try to export all my fields with Architect I get the following error:

`yii\base\ErrorException: Trying to get property of non-object in A:\\\\vendor\pennebaker\craft-architect\src\base\Processor.php:246 Stack trace:

0 A:\\\\vendor\pennebaker\craft-architect\src\base\FieldProcessor.php(486): pennebaker\architect\base\FieldProcessor->unmapFolderSources()

1 A:\\\\vendor\pennebaker\craft-architect\src\base\FieldProcessor.php(672): pennebaker\architect\base\FieldProcessor->unmapSources()

2 A:\\\\vendor\pennebaker\craft-architect\src\base\FieldProcessor.php(597): pennebaker\architect\base\FieldProcessor->export()

3 A:\\\\vendor\pennebaker\craft-architect\src\base\FieldProcessor.php(686): pennebaker\architect\base\FieldProcessor->export()

4 A:\\\\vendor\pennebaker\craft-architect\src\controllers\DefaultController.php(128): pennebaker\architect\base\FieldProcessor->exportById()

5 A:\\\\vendor\yiisoft\yii2\base\InlineAction.php(57): pennebaker\architect\controllers\DefaultController->actionExport()

6 A:\\\\vendor\yiisoft\yii2\base\InlineAction.php(57): ::call_user_func_array:{A:\wamp-directories\www\vendor\yiisoft\yii2\base\InlineAction.php:57}()

7 A:\\\\vendor\yiisoft\yii2\base\Controller.php(157): yii\base\InlineAction->runWithParams()

8 A:\\\\vendor\craftcms\cms\src\web\Controller.php(109): pennebaker\architect\controllers\DefaultController->runAction()

9 A:\\\\vendor\yiisoft\yii2\base\Module.php(528): pennebaker\architect\controllers\DefaultController->runAction()

10 A:\\\\vendor\craftcms\cms\src\web\Application.php(297): craft\web\Application->runAction()

11 A:\\\\vendor\yiisoft\yii2\web\Application.php(103): craft\web\Application->runAction()

12 A:\\\\vendor\craftcms\cms\src\web\Application.php(286): craft\web\Application->handleRequest()

13 A:\\\\vendor\yiisoft\yii2\base\Application.php(386): craft\web\Application->handleRequest()

14 A:\\\\public\index.php(21): craft\web\Application->run()

15 {main}`

It only happenes when I try to export certain asset fields. I tried it with two fields that are similar (only names are different) but somehow with the one marked for export it gives me the above error.

Any ideas?

m-meintjes commented 5 years ago

Hey there,

Craft CMS 3.1.1 / Architect Version 2.2.11

It seems that I have a similar problem exporting fields with architect.

Every time I try to export all my fields with Architect I get the following error:

yii\base\ErrorException: Trying to get property of non-object in A:\<path>\<to>\<project>\vendor\pennebaker\craft-architect\src\base\Processor.php:246 Stack trace: #0 A:\<path>\<to>\<project>\vendor\pennebaker\craft-architect\src\base\FieldProcessor.php(486): pennebaker\architect\base\FieldProcessor->unmapFolderSources() #1 A:\<path>\<to>\<project>\vendor\pennebaker\craft-architect\src\base\FieldProcessor.php(672): pennebaker\architect\base\FieldProcessor->unmapSources() #2 A:\<path>\<to>\<project>\vendor\pennebaker\craft-architect\src\base\FieldProcessor.php(597): pennebaker\architect\base\FieldProcessor->export() #3 A:\<path>\<to>\<project>\vendor\pennebaker\craft-architect\src\base\FieldProcessor.php(686): pennebaker\architect\base\FieldProcessor->export() #4 A:\<path>\<to>\<project>\vendor\pennebaker\craft-architect\src\controllers\DefaultController.php(128): pennebaker\architect\base\FieldProcessor->exportById() #5 A:\<path>\<to>\<project>\vendor\yiisoft\yii2\base\InlineAction.php(57): pennebaker\architect\controllers\DefaultController->actionExport() #6 A:\<path>\<to>\<project>\vendor\yiisoft\yii2\base\InlineAction.php(57): ::call_user_func_array:{A:\wamp-directories\www\vendor\yiisoft\yii2\base\InlineAction.php:57}() #7 A:\<path>\<to>\<project>\vendor\yiisoft\yii2\base\Controller.php(157): yii\base\InlineAction->runWithParams() #8 A:\<path>\<to>\<project>\vendor\craftcms\cms\src\web\Controller.php(109): pennebaker\architect\controllers\DefaultController->runAction() #9 A:\<path>\<to>\<project>\vendor\yiisoft\yii2\base\Module.php(528): pennebaker\architect\controllers\DefaultController->runAction() #10 A:\<path>\<to>\<project>\vendor\craftcms\cms\src\web\Application.php(297): craft\web\Application->runAction() #11 A:\<path>\<to>\<project>\vendor\yiisoft\yii2\web\Application.php(103): craft\web\Application->runAction() #12 A:\<path>\<to>\<project>\vendor\craftcms\cms\src\web\Application.php(286): craft\web\Application->handleRequest() #13 A:\<path>\<to>\<project>\vendor\yiisoft\yii2\base\Application.php(386): craft\web\Application->handleRequest() #14 A:\<path>\<to>\<project>\public\index.php(21): craft\web\Application->run() #15 {main}

It only happenes when I try to export certain asset fields. I tried it with two fields that are similar (only names are different) but somehow with the one marked for export it gives me the above error.

Any ideas?

Problem fixed.

So I tried a few things and one of the things I did was to go through all my fields and re save them one by one again. Shortly after the export worked fine.

I did have old Volumes which I deleted but my fields are rarely limited to a single volume. Weird but hopefully the end of it...

spAnser commented 5 years ago

Wouldn't hurt to add a check for something like that to prevent the error.