0

I am trying to build an advanced query with 2 orWhere conditions. So basically I am looking to get entries where the authorId equals something or the element is relatedTo something.

Current code which has my relatedTo Param requirement commented out as I assume I need that as an additional orWhere option.

{% set params = { section: entry.sectionSlug } %}
{# {% set params = params|merge({relatedTo: currentUser.departmentHeadOf.one()}) %} #}
{% set Query = craft.entries(params) %}
{% set Query = Query.orWhere(['=','authorId', currentUser.id]) %}


{% set entries = Query.all() %}

I do have a solution for the above by getting the entry ids for the 2 conditions on their own then merging, but assume the above method would be more efficient.

{% set params = { section: entry.sectionSlug } %}
{% set newparams = params|merge({authorId: currentUser.id}) %}
{% set eids = craft.entries(newparams).ids() %}

{% set newparams = params|merge({relatedTo: currentUser.departmentHeadOf.one()}) %}
{% set relatedeids = craft.entries(newparams).ids() %}

{% set eids = eids|merge(relatedeids) %}
{% set entries = craft.entries.id(eids).all() %}

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.