RedBeanPHP\QueryWriter\AQueryWriter::queryRecordCountRelated PHP Méthode

queryRecordCountRelated() public méthode

See also: QueryWriter::queryRecordCountRelated
public queryRecordCountRelated ( $sourceType, $destType, $linkID, $addSql = '', $bindings = [] )
    public function queryRecordCountRelated($sourceType, $destType, $linkID, $addSql = '', $bindings = array())
    {
        list($sourceTable, $destTable, $linkTable, $sourceCol, $destCol) = $this->getRelationalTablesAndColumns($sourceType, $destType);
        $this->updateCache();
        //check if cache chain has been broken
        if ($sourceType === $destType) {
            $sql = "\n\t\t\tSELECT COUNT(*) FROM {$linkTable}\n\t\t\tINNER JOIN {$destTable} ON\n\t\t\t( {$destTable}.id = {$linkTable}.{$destCol} AND {$linkTable}.{$sourceCol} = ? ) OR\n\t\t\t( {$destTable}.id = {$linkTable}.{$sourceCol} AND {$linkTable}.{$destCol} = ? )\n\t\t\t{$addSql}\n\t\t\t-- keep-cache";
            $bindings = array_merge(array($linkID, $linkID), $bindings);
        } else {
            $sql = "\n\t\t\tSELECT COUNT(*) FROM {$linkTable}\n\t\t\tINNER JOIN {$destTable} ON\n\t\t\t( {$destTable}.id = {$linkTable}.{$destCol} AND {$linkTable}.{$sourceCol} = ? )\n\t\t\t{$addSql}\n\t\t\t-- keep-cache";
            $bindings = array_merge(array($linkID), $bindings);
        }
        return (int) $this->adapter->getCell($sql, $bindings);
    }