DboSource::_fetchHasAndBelongsToMany PHP Method

_fetchHasAndBelongsToMany() protected method

Fetch 'hasAndBelongsToMany' associations.
protected _fetchHasAndBelongsToMany ( Model $Model, string $query, array $ids, string $association ) : array
$Model Model Primary model object.
$query string Association query.
$ids array Array of IDs of associated records.
$association string Association name.
return array Association results.
    protected function _fetchHasAndBelongsToMany(Model $Model, $query, $ids, $association)
    {
        $ids = array_unique($ids);
        if (count($ids) > 1) {
            $query = str_replace('{$__cakeID__$}', '(' . implode(', ', $ids) . ')', $query);
            $query = str_replace('= (', 'IN (', $query);
        } else {
            $query = str_replace('{$__cakeID__$}', $ids[0], $query);
        }
        $query = str_replace(' WHERE 1 = 1', '', $query);
        return $this->fetchAll($query, $Model->cacheQueries);
    }
DboSource