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.
moveEntryToSection()Move entry to a different section.
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 ​

  • $entryId (integer) – The entry’s ID.
  • $siteId (integer, string, integer[], null) – The site(s) to fetch the entry in. Defaults to the current site.
  • $criteria (array)

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 ​

moveEntryToSection() ​

Since
5.3.0

Move entry to a different section.

View source

Arguments ​

Returns ​

boolean

Throws ​

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 ​

  • $entryType (craft\models\EntryType) – The entry type to be saved
  • $runValidation (boolean) – Whether the entry type should be validated

Returns ​

boolean – Whether the entry type was saved successfully

Throws ​

saveSection() ​

Since
5.0.0

Saves a section.

View source

Arguments ​

  • $section (craft\models\Section) – The section to be saved
  • $runValidation (boolean) – Whether the section should be validated

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_MOVE_TO_SECTION ​

Type
craft\events\MoveEntryEvent
Since
5.3.0

The event that is triggered before an entry is move to a different section.


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_MOVE_TO_SECTION ​

Type
craft\events\MoveEntryEvent
Since
5.3.0

The event that is triggered before an entry is move to a different section.


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.