Element Query matrixfields where I'm trying to query entries in a section where the (activities) entry has an item in a matrix field timeSlots -> timeSlot -> startDate.
The startDate must be >= NOW().

$query = Entry::find()-&gt;section('activities');

// something like 
// $query-&gt;where('timeSlots.*.startDate &gt;= NOW()');

$activities = $query-&gt;all();
You need to join the matrixblocks and the specific content table

$query-&gt;join('{{%matrixblocks}}, 'matrixblocks.ownerId = elements.id);
$query-&gt;join('{{%matrixcontent_your_table_name}}, 'matrixcontent_your_table_name.elementId = matrixblocks.id);
$query-&gt;andWhere([
    '&gt;=', 
    'matrixcontent_your_table_name.name-of-the-column', 
    new Expression('NOW()')
]);


Edit: if you have multiple blocks with the same field handle you'll need to wrap all those in a new OrCondition

$now = new Expression('NOW()');
$query-&gt;andWhere(
    new OrCondition([
        ['&gt;=', 'column1', $now],
        ['&gt;=', 'column2', $now],
        ['&gt;=', 'column3', $now],
    ])
);


Edit2: I would suggest you to only fetch ids in that query because it's likely to have more results when you join these tables