Questions tagged [elementcriteriamodel]

Questions having to do with Craft's ElementCriteriaModel, which is used to return a set of elements narrowed by a variety of parameters.

Filter by
Sorted by
Tagged with
1
vote
1answer
18 views

Elements API - How to order / limit the output with an asset field of an entry

I recently started using the Elements API and I made up a recipe site as an example project. It's pretty easy to output the recipes as json data. But I now want some more control about the output of ...
2
votes
1answer
55 views

.first() vs. .one() in craft 3

I'm confused about the new .one() argument in craft 3 If I want to grab all entries I write: {% for entry in craft.entries.section('thing').all() %} {{ entry.title }} {% endfor %} Alls is nice ...
0
votes
0answers
21 views

Setting a variable to a Matrix field with additional parameters

I'm trying to set a variable to a Matrix field and apply additional query parameters like so: {% set monthDates = entry.scanDates.type('dates').date('and', '>= ' ~ currMonthFirst|date('Y-m-d'), '&...
1
vote
0answers
26 views

Retrieving Entries by Category & Exclude by Tag

I have an endpoint that I want to retrieve entries by a category, but then exclude entry ids if they have a certain tag. It seems to me that the relatedTo param overrides the id param that says not in ...
1
vote
1answer
90 views

Multiple and or relatedTo in plugin element criteria

I am trying to return entries that relate to a series of categories. For example, I am trying to return clothing, in this example, I want to return all entries related to (flannel or denim) and (blue ...
1
vote
1answer
30 views

Getting orders by property in Commerce 2 from Plugin

In Commerce 1 i can select orders by a specific property as follows: $criteria = craft()->elements->getCriteria('Commerce_Order'); $criteria['orderStatusId'] = 1; return craft()->elements-&...
1
vote
1answer
218 views

How to merge multiple 'relatedTo' queries via query parameters

I'm trying to augment a Commerce query with additional parameters like so, but I can't get 'colour' and 'range' working together. Clearly my and/relatedTo syntax is wrong but how exactly? {% set ...
1
vote
1answer
142 views

Get all variants from multiple products

I need to get a list of variants from multiple products, but in a way that allows us to show the results in Craft's handy {% paginate %} tags. So far we have this less-than-appealing markup: {% set ...
1
vote
1answer
23 views

ElementCriteriaModel combine with 'and' and 'or' filters

Saying I want to convert the following SQL query into ElementCriteriaModel: SELECT * FROM users WHERE fieldA = 1 AND (fieldB = 1 or fieldC = 1) I can't find a way in ElementCriteriaModel to do so. {...
1
vote
0answers
17 views

modifyEntrySources hook with reverse relations

Is it possible to do a reverse relation query in a custom entry source? https://docs.craftcms.com/v2/plugins/hooks-reference.html#modifyentrysources I have two entry sections, one called courses and ...
1
vote
1answer
28 views

modifyEntrySources hook, comparing two field values

Is it possible with the modifyEntrySources hook to query a field value against another fields value? Example: Two fields are present on the entry section this hook targets fieldParentId fieldId I ...
1
vote
1answer
40 views

Pagination and Entry Model on Homepage

On my site I have some entries with images. In the entry template I paginate the images like so: {% paginate entry.images.limit(1) as images %} My homepage is a single random entry and I want to ...
2
votes
1answer
33 views

Plugin, getting an entry when one of multiple category fields and/or lightswitches are not empty/turned on

Basically I’m trying to get en Entry where, either one (or more) of three lightswitches is (are) turned on, or where either categoryOne or categoryTwo is not empty. This is what I got so far, but it ...
1
vote
1answer
53 views

Element criteria with a table field

I am trying to build a query to fetch some entries which I want filter on a table field between multiple values. The table field is "filterTestWidth" and has 1 col named "size" (number type). There ...
1
vote
0answers
23 views

Get Entries with a specified. Custom FieldType

I have created a Custom FieldType with AttributeType::Mixed The field actually saves the a Custom Model I created. I'm trying to retrieve all the entries that have my custom model as the field. I'm ...
0
votes
1answer
277 views

Impossible to access an attribute (“url”) on a null variable in search results

I have a search results page set up like this: {% set searchResults = craft.entries(queryParams) %} {% paginate searchResults as pageInfo, pageEntries %} {% if pageEntries|length %} {% for yacht ...
1
vote
1answer
88 views

Get the fields (fieldLayout) of the section. Not the entry

Can I get all the fields of a section? For example, I have channel events, I want the fields in that section, but not related to any specific event. I want to know all the fields (not the values), ...
1
vote
0answers
311 views

Element API plugin: searching and working with nested objects

I’m experimenting with the Element API plugin and working with querying the tags of the assets that appear in matrix blocks in a set of entries. Essentially I’m hoping to be able to use a tag in a ...
1
vote
1answer
127 views

How to create an element query in PHP with custom field names in variables?

I'm trying to dynamically create an element query in PHP where the custom field criteria come from an array of strings. Something like this...? $users = User::find(); $users->group($groupList); ...
0
votes
1answer
378 views

Get all entries with linked entry in entries field

I have a channel called 'projects'. This channel has two entries fields: relatedThemes relatedAreas What I want to do is perform a search query which filters all projects where the relatedThemes ...
1
vote
1answer
17 views

Not showing the entry somewhere else on the same page

In the footer there is a column showing the images of the most recent entries. How do you prevent the image from the main entry itself to be shown? Do you test an url segment against the title or ...
2
votes
1answer
104 views

Missing Matrix row types on output after upgrade to Craft 3 (subsetting and cloning ElementQueries)

Update: Now I know the cause of my problem, I have appended to the original question title to try and help other people stumbling across the same issue. I have a pending support ticket open with P&...
1
vote
1answer
28 views

Error using assets operations

I am having trouble getting images by name. craft.assets.first() function in assets gives the proper output of one image. But when I try craft.assets.filename('flag.jpg'), craft shows the following ...
1
vote
1answer
74 views

How to get related entry data using ElementCriteriaModel in a plugin

I am working on a custom plugin which gets some entry data using $criteria = craft()->elements->getCriteria(ElementType::Entry); $criteria->order('postDate asc'); $criteria->dateUpdated = ...
1
vote
1answer
40 views

How to limit navigation by entry type

I couldn't find this anywhere so I thought I would post the answer. How do you limit the output of a navigation element to a specific entry type. This question is explicitly for the navigation ...
1
vote
1answer
395 views

How to build complex Element Criteria?

How to fetch Elements with a complex DB query? E.g. with some nested AND/OR conditions or just apply two conditions to one field? For example my Elements have a field eventDate. I want to fetch all ...
1
vote
1answer
314 views

Returning ElementCriteriaModel of entries via plugin

I'm outputting an element criteria model in a Craft 2 plugin of some entries in a channel. I noticed that when I fetch the entries the standard template way {% set entries = craft.entries.section('...
3
votes
1answer
207 views

Search for entries where a field value is between multiple ranges of numbers

I currently have this working for a single range of numbers, but I can’t figure it out for multiple ranges. I currently have it set up like this for one range, and it works. myFieldHandle: ['and', '&...
1
vote
1answer
96 views

How can I iterate through my entries?

I want to iterate through my entries on the click of a 'next' and 'previous' button. I have started off using getNext() and getPrev() by I'm in a bit of a rut. {% set entry = craft.entries.section('...
1
vote
2answers
57 views

Getting a single, random, related entry within a plug in

Given a Matrix with each row containing a text field and a multi relationship field. And I am picking 1 Matrix row based on the value in the text field. How would I go about selecting a single, random,...
1
vote
2answers
221 views

Retrieve entries on custom field date using ElementCriteriaModel

I am trying to retrieve an array of entries on a particular section where inspectionDate is greater than today's date. Here is the code. $criteria = craft()->elements->getCriteria(ElementType::...
1
vote
0answers
97 views

Using target element criteria to filter results

I'm using the Element API plugin to try and search for addresses using minimum and maximum lat & lng values and then using target element within the criteria parameters to filter the results ...
0
votes
0answers
85 views

If an entry doesn't exist in a locale and returns a 404, how can I check if the entry exists in a different locale?

I'm trying to create a mechanism for informing users that a particular entry is not available in the selected language, and providing a link to read the article in an alternative language. Therefore, ...
1
vote
1answer
54 views

Load more images in matrix block

I have a matrix block called team that has an assets field within it that has all of the companies headshots. However, there are more than 30 images, but the design is to only have 6 showing on load, ...
1
vote
1answer
214 views

ElementCriteriaModel andWhere() with different comparison operators?

I'm trying to do an andWhere() "OR" group for a special criteria value so basically when building an element criteria I want to just set `$criteria->upcomingOnly to true, and then have the following ...
1
vote
1answer
135 views

getting the current user entries from elementapi

How do I use the elementapi to get the list of entries for the logged in user? I've tried a couple of options to no avail, like 'api/v1/user/<userId:\d+>.json' => function($userId) { ...
0
votes
2answers
106 views

Exclude entries by array of authors from ElementCriteriaModel

I'm trying to get a list of entries of a certain section, however I'd like to exclude certain users that are defined within a field of the entry. The users to exclude from the query are fetched like ...
3
votes
1answer
348 views

How to pull entries with Date Created > start and < end?

I'm building an export plugin in Craft 2 and the entries are saved by the front-end and are never enabled, so no Post Date. I have a form with the forms.date selectors that sends a start and end date ...
1
vote
0answers
44 views

Save or efficiently query a count from a related table

I have two custom element types, Event and Booking. They are related via the eventId column on the Booking record which is a FK to the Event record. The Booking record also has a seats column. A ...
2
votes
1answer
615 views

Element Criteria Model: filtering by empty values

I'm trying to use the Element Criteria Model to retrieve all entries where value X or value Y is not null? I can get all entries where values and X and Y are not empty but not sure how to achieve ...
3
votes
1answer
106 views

How do I query two relationship fields where one relationship MUST be empty?

I have two relationship fields. I am trying to query all entries where the first field is related to a particular element and the second field is related to nothing. Here is how I thought it would ...
1
vote
1answer
310 views

How to display a specific image from Assets field

I have an Assets field with a set of images. What is the best way to find one image that has 'featured' checkbox checked? This is the code I put together to check which of the images is marked '...
1
vote
1answer
87 views

craft.matrixBlocks element queries with .type()

I'm using Craft Pro 3.0.0-beta.19 and I try to query matrix blocks with craft.matrixBlocks(). Background: I have event series (=structure) with a matrix block containing 1:n dates for each series. My ...
1
vote
1answer
39 views

Trouble with buildElementQuery customization

I’m having a problem modifying an ElementCriteria with buildElementsQuery. The results elements totally mixes locale results. I can only get english URL for example. Here is a gist of my code. https:/...
1
vote
0answers
157 views

Craft 3 improvements to relationship querying?

I've been using Craft for a couple of years now and I do love it, however I consistently run into massive performance issues with it. I heavily rely on caching and eager loading - however this doesn't ...
3
votes
1answer
229 views

How can I get entries where a date is within a dynamic date range?

{% set params = { section : 'events', order : 'eventStartDate asc', eventStartDate : '>=' ~ now, limit : row.itemsPerPage.value } %} I am trying to pull a set of event ...
1
vote
1answer
111 views

no element type exists with getCriteria and custom element type

I am working on a plugin using the getCriteria function, but for every Element Type I put, I always get an error: No element type exists by the type “Comerce_Group”. $criteria = craft()->...
4
votes
1answer
86 views

Store categories in array by level in controller

I'm making a plugin and I need to get an array from a certain category group where the levels of the array are the same as the level of the categories in the group. So I used the following code to ...
1
vote
1answer
223 views

entries.saveEntry not triggered by ResaveElements task

I've got a plugin that does a thing when an entry is resaved. It works great. However I need it to fire for every single entry to build some data. craft()->on('entries.saveEntry', function(Event $...
1
vote
1answer
59 views

Entries inside controller

I'm trying to bring back a list of entries from a section. Currently I have the following: $criteria = craft()->elements->getCriteria(ElementType::Entry); $criteria->section = 'airports'; $...