Ejemplo n.º 1
0
 /**
  * 处理插入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;
 }
Ejemplo n.º 2
0
 /**
  * 增加一个 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;
 }
Ejemplo n.º 3
0
 /**
  * 处理插入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;
 }
Ejemplo n.º 4
0
 /**
  * 获取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();
 }