Skip to content

Entries

Type
Class
Namespace
craft\services
Inherits
craft\services\Entries » yii\base\Component » yii\base\BaseObject
Implements
yii\base\Configurable
Since
3.0.0

The Entries service provides APIs for managing entries in Craft.

An instance of the service is available via Craft::$app->entries.

View source

Public Properties

PropertyDescription
allEntryTypescraft\models\EntryType[]
allSectionIdsinteger[] – All the sections’ IDs.
allSectionscraft\models\Section[] – All the sections.
autoResaveEntriesboolean – Whether entries should be resaved after a section or entry type has been updated.
behaviorsyii\base\Behavior – List of behaviors attached to this component.
editableSectionIdsinteger[] – All the editable sections’ IDs.
editableSectionscraft\models\Section[] – All the editable sections.
totalEditableSectionsinteger
totalSectionsinteger

allEntryTypes

Type
craft\models\EntryType[]
Default value
null
Access
Read-only
Since
5.0.0

View source

allSectionIds

Type
integer[]
Default value
null
Access
Read-only
Since
5.0.0

All the sections’ IDs.

View source

allSections

Type
craft\models\Section[]
Default value
null
Access
Read-only
Since
5.0.0

All the sections.

View source

autoResaveEntries

Type
boolean
Default value
true
Since
5.0.0

Whether entries should be resaved after a section or entry type has been updated.

TIP

Entries will be resaved regardless of what this is set to, when a section’s Propagation Method setting changes.

WARNING

Don’t disable this unless you know what you’re doing, as entries won’t reflect section/entry type changes until they’ve been resaved. (You can resave entries manually by running the resave/entries console command.)

View source

editableSectionIds

Type
integer[]
Default value
null
Access
Read-only
Since
5.0.0

All the editable sections’ IDs.

View source

editableSections

Type
craft\models\Section[]
Default value
null
Access
Read-only
Since
5.0.0

All the editable sections.

View source

totalEditableSections

Type
integer
Default value
null
Access
Read-only
Since
5.0.0

View source

totalSections

Type
integer
Default value
null
Access
Read-only
Since
5.0.0

View source

Public Methods

MethodDescription
__call()Calls the named method which is not a class method.
__clone()This method is called after the object is created by cloning an existing one.
__construct()Constructor.
__get()Returns the value of a component property.
__isset()Checks if a property is set, i.e. defined and not null.
__serialize()Serializer
__set()Sets the value of a component property.
__unset()Sets a component property to be null.
attachBehavior()Attaches a behavior to this component.
attachBehaviors()Attaches a list of behaviors to the component.
behaviors()Returns a list of behaviors that this component should behave as.
canGetProperty()Returns a value indicating whether a property can be read.
canSetProperty()Returns a value indicating whether a property can be set.
className()Returns the fully qualified name of this class.
deleteEntryType()Deletes an entry type.
deleteEntryTypeById()Deletes an entry type by its ID.
deleteSection()Deletes a section.
deleteSectionById()Deletes a section by its ID.
detachBehavior()Detaches a behavior from the component.
detachBehaviors()Detaches all behaviors from the component.
ensureBehaviors()Makes sure that the behaviors declared in behaviors() are attached to this component.
getAllEntryTypes()Returns all entry types.
getAllSectionIds()Returns all of the section IDs.
getAllSections()Returns all sections.
getBehavior()Returns the named behavior object.
getBehaviors()Returns all behaviors attached to this component.
getEditableSectionIds()Returns all of the section IDs that are editable by the current user.
getEditableSections()Returns all editable sections.
getEntryById()Returns an entry by its ID.
getEntryTypeByHandle()Returns an entry type by its handle.
getEntryTypeById()Returns an entry type by its ID.
getEntryTypeByUid()Returns an entry type by its UID.
getEntryTypesBySectionId()Returns a section’s entry types.
getSectionByHandle()Gets a section by its handle.
getSectionById()Returns a section by its ID.
getSectionByUid()Gets a section by its UID.
getSectionSiteSettings()Returns a section’s site-specific settings.
getSectionsByType()Returns all sections of a given type.
getSingleEntriesByHandle()Returns an array of Single section entries which match a given list of section handles.
getTotalEditableSections()Gets the total number of sections that are editable by the current user.
getTotalSections()Gets the total number of sections.
handleChangedEntryType()Handle entry type change
handleChangedSection()Handle section change
handleDeletedEntryType()Handle an entry type getting deleted
handleDeletedSection()Handle a section getting deleted
hasEventHandlers()Returns a value indicating whether there is any handler attached to the named event.
hasMethod()Returns a value indicating whether a method is defined.
hasProperty()Returns a value indicating whether a property is defined for this component.
init()Initializes the object.
off()Detaches an existing event handler from this component.
on()Attaches an event handler to an event.
pruneDeletedField()
pruneDeletedSite()Prune a deleted site from section site settings.
refreshEntryTypes()Refreshes the internal entry type cache.
saveEntryType()Saves an entry type.
saveSection()Saves a section.
trigger()Triggers an event.

__serialize()

Serializer

View source

deleteEntryType()

Since
5.0.0

Deletes an entry type.

View source

Arguments

Returns

boolean – Whether the entry type was deleted successfully

Throws


Example

php
$success = Craft::$app->entries->deleteEntryType($entryType);

deleteEntryTypeById()

Since
5.0.0

Deletes an entry type by its ID.

View source

Arguments

Returns

boolean – Whether the entry type was deleted successfully

Throws


Example

php
$success = Craft::$app->entries->deleteEntryTypeById(1);

deleteSection()

Since
5.0.0

Deletes a section.

View source

Arguments

Returns

boolean – Whether the section was deleted successfully

Throws


Example

php
$success = Craft::$app->entries->deleteSection($section);

deleteSectionById()

Since
5.0.0

Deletes a section by its ID.

View source

Arguments

Returns

boolean – Whether the section was deleted successfully

Throws


Example

php
$success = Craft::$app->entries->deleteSectionById(1);

getAllEntryTypes()

Since
5.0.0

Returns all entry types.

View source

Returns

craft\models\EntryType[]


Example

php
$entryTypes = Craft::$app->entries->getAllEntryTypes();

getAllSectionIds()

Since
5.0.0

Returns all of the section IDs.

View source

Returns

integer[] – All the sections’ IDs.


Example

php
$sectionIds = Craft::$app->entries->allSectionIds;
twig
{% set sectionIds = craft.app.entries.allSectionIds %}

getAllSections()

Since
5.0.0

Returns all sections.

View source

Returns

craft\models\Section[] – All the sections.


Example

php
$sections = Craft::$app->entries->allSections;
twig
{% set sections = craft.app.entries.allSections %}

getEditableSectionIds()

Since
5.0.0

Returns all of the section IDs that are editable by the current user.

View source

Returns

integer[] – All the editable sections’ IDs.


Example

php
$sectionIds = Craft::$app->entries->editableSectionIds;
twig
{% set sectionIds = craft.app.entries.editableSectionIds %}

getEditableSections()

Since
5.0.0

Returns all editable sections.

View source

Returns

craft\models\Section[] – All the editable sections.


Example

php
$sections = Craft::$app->entries->editableSections;
twig
{% set sections = craft.app.entries.editableSections %}

getEntryById()

Returns an entry by its ID.

php
$entry = Craft::$app->entries->getEntryById($entryId);

View source

Arguments

Returns

craft\elements\Entry, null – The entry with the given ID, or null if an entry could not be found.

getEntryTypeByHandle()

Since
5.0.0

Returns an entry type by its handle.

View source

Arguments

Returns

craft\models\EntryType, null


Example

php
$entryType = Craft::$app->entries->getEntryTypeByHandle('article');

getEntryTypeById()

Since
5.0.0

Returns an entry type by its ID.

View source

Arguments

Returns

craft\models\EntryType, null


Example

php
$entryType = Craft::$app->entries->getEntryTypeById(1);

getEntryTypeByUid()

Since
5.0.0

Returns an entry type by its UID.

View source

Arguments

Returns

craft\models\EntryType, null

getEntryTypesBySectionId()

Since
5.0.0

Returns a section’s entry types.

View source

Arguments

Returns

craft\models\EntryType[]


Example

php
$entryTypes = Craft::$app->entries->getEntryTypesBySectionId(1);

getSectionByHandle()

Since
5.0.0

Gets a section by its handle.

View source

Arguments

Returns

craft\models\Section, null


Example

php
$section = Craft::$app->entries->getSectionByHandle('news');
twig
{% set section = craft.app.entries.getSectionByHandle('news') %}

getSectionById()

Since
5.0.0

Returns a section by its ID.

View source

Arguments

Returns

craft\models\Section, null


Example

php
$section = Craft::$app->entries->getSectionById(1);
twig
{% set section = craft.app.entries.getSectionById(1) %}

getSectionByUid()

Since
5.0.0

Gets a section by its UID.

View source

Arguments

Returns

craft\models\Section, null


Example

php
$section = Craft::$app->entries->getSectionByUid('b3a9eef3-9444-4995-84e2-6dc6b60aebd2');
twig
{% set section = craft.app.entries.getSectionByUid('b3a9eef3-9444-4995-84e2-6dc6b60aebd2') %}

getSectionSiteSettings()

Since
5.0.0

Returns a section’s site-specific settings.

View source

Arguments

Returns

craft\models\Section_SiteSettings[] – The section’s site-specific settings.

getSectionsByType()

Since
5.0.0

Returns all sections of a given type.

View source

Arguments

  • $type (string) – The section type (single, channel, or structure)

Returns

craft\models\Section[] – All the sections of the given type.


Example

php
use craft\models\Section;

$singles = Craft::$app->entries->getSectionsByType(Section::TYPE_SINGLE);
twig
{% set singles = craft.app.entries.getSectionsByType('single') %}

getSingleEntriesByHandle()

Since
4.4.0

Returns an array of Single section entries which match a given list of section handles.

View source

Arguments

Returns

array<string,\craft\elements\Entry>

getTotalEditableSections()

Since
5.0.0

Gets the total number of sections that are editable by the current user.

View source

Returns

integer


Example

php
$total = Craft::$app->entries->totalEditableSections;
twig
{% set total = craft.app.entries.totalEditableSections %}

getTotalSections()

Since
5.0.0

Gets the total number of sections.

View source

Returns

integer


Example

php
$total = Craft::$app->entries->totalSections;
twig
{% set total = craft.app.entries.totalSections %}

handleChangedEntryType()

Since
5.0.0

Handle entry type change

View source

Arguments

handleChangedSection()

Since
5.0.0

Handle section change

View source

Arguments

handleDeletedEntryType()

Since
5.0.0

Handle an entry type getting deleted

View source

Arguments

handleDeletedSection()

Since
5.0.0

Handle a section getting deleted

View source

Arguments

pruneDeletedField()

DEPRECATED

Deprecated in 4.0.5. Unused fields will be pruned automatically as field layouts are resaved.

View source

pruneDeletedSite()

Since
5.0.0

Prune a deleted site from section site settings.

View source

Arguments

refreshEntryTypes()

Since
5.0.0

Refreshes the internal entry type cache.

View source

saveEntryType()

Since
5.0.0

Saves an entry type.

View source

Arguments

Returns

boolean – Whether the entry type was saved successfully

Throws

saveSection()

Since
5.0.0

Saves a section.

View source

Arguments

Returns

boolean

Throws


Example

php
use craft\models\Section;
use craft\models\Section_SiteSettings;

$section = new Section([
    'name' => 'News',
    'handle' => 'news',
    'type' => Section::TYPE_CHANNEL,
    'siteSettings' => [
        new Section_SiteSettings([
            'siteId' => Craft::$app->sites->getPrimarySite()->id,
            'enabledByDefault' => true,
            'hasUrls' => true,
            'uriFormat' => 'foo/{slug}',
            'template' => 'foo/_entry',
        ]),
    ]
]);

$success = Craft::$app->entries->saveSection($section);

Events

EVENT_AFTER_DELETE_ENTRY_TYPE

Type
craft\events\EntryTypeEvent
Since
5.0.0

The event that is triggered after an entry type is deleted.


EVENT_AFTER_DELETE_SECTION

Type
craft\events\SectionEvent
Since
5.0.0

The event that is triggered after a section is deleted.


EVENT_AFTER_SAVE_ENTRY_TYPE

Type
craft\events\EntryTypeEvent
Since
5.0.0

The event that is triggered after an entry type is saved.


EVENT_AFTER_SAVE_SECTION

Type
craft\events\SectionEvent
Since
5.0.0

The event that is triggered after a section is saved.


EVENT_BEFORE_APPLY_ENTRY_TYPE_DELETE

Type
craft\events\EntryTypeEvent
Since
5.0.0

The event that is triggered before an entry type delete is applied to the database.


EVENT_BEFORE_APPLY_SECTION_DELETE

Type
craft\events\SectionEvent
Since
5.0.0

The event that is triggered before a section delete is applied to the database.


EVENT_BEFORE_DELETE_ENTRY_TYPE

Type
craft\events\EntryTypeEvent
Since
5.0.0

The event that is triggered before an entry type is deleted.


EVENT_BEFORE_DELETE_SECTION

Type
craft\events\SectionEvent
Since
5.0.0

The event that is triggered before a section is deleted.


EVENT_BEFORE_SAVE_ENTRY_TYPE

Type
craft\events\EntryTypeEvent
Since
5.0.0

The event that is triggered before an entry type is saved.


EVENT_BEFORE_SAVE_SECTION

Type
craft\events\SectionEvent
Since
5.0.0

The event that is triggered before a section is saved.