/** * 处理插入ID * * @param \CatLib\Database\Grammars\Builder $query * @param string $sql * @param array $values * @param string $sequence * @return int */ public function processInsertGetId(Builder $query, $sql, $values, $sequence = null) { $results = $query->getConnection()->selectFromWriteConnection($sql, $values); $sequence = $sequence ?: 'id'; $result = (array) $results[0]; $id = $result[$sequence]; return is_numeric($id) ? (int) $id : $id; }
/** * 增加一个 and where 的字句查询(基于查询器) * * @param $this $query * @param string $boolean * @param bool $not * @return $this */ public function addWhereExistsQuery(Builder $query, $boolean = 'and', $not = false) { $type = $not ? 'NotExists' : 'Exists'; $this->wheres[] = compact('type', 'operator', 'query', 'boolean'); $this->addBinding($query->getBindings(), 'where'); return $this; }
/** * 处理插入id * * @param \CatLib\Database\Grammars\Builder $query * @param string $sql * @param array $values * @param string $sequence * @return int */ public function processInsertGetId(Builder $query, $sql, $values, $sequence = null) { $query->getConnection()->insert($sql, $values); $id = $query->getConnection()->getPdo()->lastInsertId(); return is_numeric($id) ? (int) $id : $id; }
/** * 获取ActiveRecord数组 * * @param array $columns * @return \CatLib\Database\ActiveReocrd\ActiveRecord[] */ public function getActiveRecords($columns = ['*']) { $results = $this->builder->get($columns); $connection = $this->activeRecord->getConnectionName(); return $this->activeRecord->hydrate($results, $connection)->all(); }