示例#1
0
 /**
  * @param \Notadd\Foundation\Database\Eloquent\Builder $query
  * @param \Notadd\Foundation\Database\Eloquent\Builder $parent
  * @return \Notadd\Foundation\Database\Eloquent\Builder
  */
 public function getRelationCountQueryForSelfRelation(Builder $query, Builder $parent)
 {
     $query->select(new Expression('count(*)'));
     $query->from($query->getModel()->getTable() . ' as ' . ($hash = $this->getRelationCountHash()));
     $key = $this->wrap($this->getQualifiedParentKeyName());
     return $query->where($hash . '.' . $this->getPlainForeignKey(), '=', new Expression($key));
 }
示例#2
0
 /**
  * @param \Notadd\Foundation\Database\Eloquent\Builder $query
  * @param \Notadd\Foundation\Database\Eloquent\Builder $parent
  * @return \Notadd\Foundation\Database\Eloquent\Builder
  */
 public function getRelationCountQuery(Builder $query, Builder $parent)
 {
     $query->select(new Expression('count(*)'));
     $key = $this->wrap($this->getQualifiedParentKeyName());
     return $query->where($this->getHasCompareKey(), '=', new Expression($key));
 }
示例#3
0
 /**
  * @param \Notadd\Foundation\Database\Eloquent\Builder $query
  * @return \Notadd\Foundation\Database\Eloquent\Builder
  */
 protected function setKeysForSaveQuery(Builder $query)
 {
     $query->where($this->getKeyName(), '=', $this->getKeyForSaveQuery());
     return $query;
 }
示例#4
0
 /**
  * @param \Notadd\Foundation\Database\Eloquent\Builder $query
  * @return \Notadd\Foundation\Database\Eloquent\Builder
  */
 protected function setKeysForSaveQuery(Builder $query)
 {
     $query->where($this->foreignKey, $this->getAttribute($this->foreignKey));
     return $query->where($this->otherKey, $this->getAttribute($this->otherKey));
 }
示例#5
0
 /**
  * @param \Notadd\Foundation\Database\Eloquent\Builder $query
  * @return \Notadd\Foundation\Database\Eloquent\Builder
  */
 protected function setKeysForSaveQuery(Builder $query)
 {
     $query->where($this->morphType, $this->morphClass);
     return parent::setKeysForSaveQuery($query);
 }