We use cookies to improve your experience. No personal information is gathered and we don't serve ads. Cookies Policy.

ExpressionEngine Logo ExpressionEngine
Features Pricing Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University
Log In or Sign Up
Log In Sign Up
ExpressionEngine Logo
Features Pro new Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University Blog
  • Home
  • Forums

Issue with setting categories via ChannelEntry Model

Development and Programming

de-construct's avatar
de-construct
4 posts
4 years ago
de-construct's avatar de-construct

hey guys, i’ve run into this issue when creating new entries via ee(‘Model’)->make(‘ChannelEntry’). All other fields work fine, inc. grid, relationship etc… but for some reason categories are always returning and error, see below:

Undefined index: categories[cat_group_id_1] ee/ExpressionEngine/Model/Content/ContentModel.php, line 143

Call to a member function setData() on null ee/ExpressionEngine/Model/Channel/ChannelEntry.php:773 ee/ExpressionEngine/Library/Data/Entity.php(410): ExpressionEngine\Model\Channel\ChannelEntry->set__categories(Array) …

the categories part of $entry_data that’s passed to the model.

‘categories’ => array (size=1) ‘cat_group_id_1’ => array (size=1) 0 => string ‘2’ (length=1)

… $newEntry = ee(‘Model’)->make(‘ChannelEntry’); $newEntry->set($entry_data); $validate = $newEntry->validate(); …

Validation passed.

EDIT: Category group and category definitely exists.

Any ideas?

Cheers, Mark

       
dougblackjr's avatar
dougblackjr
34 posts
4 years ago
dougblackjr's avatar dougblackjr

You should look at setting the relationship directly.

I think it would be something like:

$entry = ee(‘Model’)->make(‘ChannelEntry’);

$category = ee('Model')->get('Category')->filter('category_id', $categoryId)->all();

$entry->Categories = $category
       
de-construct's avatar
de-construct
4 posts
4 years ago
de-construct's avatar de-construct

Awesome, thanks!

       

Reply

Sign In To Reply

ExpressionEngine Home Features Pro Contact Version Support
Learn Docs University Forums
Resources Support Add-Ons Partners Blog
Privacy Terms Trademark Use License

Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.