/**
  * Remove the scope from the given Eloquent query builder.
  *
  * @param  \Illuminate\Database\Eloquent\Builder  $builder
  * @param  \Illuminate\Database\Eloquent\Model  $model
  * @return void
  */
 public function remove(Builder $builder, Model $model)
 {
     $column = $model->getQualifiedDeletedAtColumn();
     $query = $builder->getQuery();
     $query->wheres = collect($query->wheres)->reject(function ($where) use($column) {
         return $this->isSoftDeleteConstraint($where, $column);
     })->values()->all();
 }
 /**
  * Remove the scope from the given Eloquent query builder.
  *
  * @param  \Illuminate\Database\Eloquent\Builder  $builder
  * @param  \Illuminate\Database\Eloquent\Model  $model
  * @return void
  */
 public function remove(Builder $builder, Model $model)
 {
     $column = $model->getQualifiedDeletedAtColumn();
     $query = $builder->getQuery();
     foreach ((array) $query->wheres as $key => $where) {
         // If the where clause is a soft delete date constraint, we will remove it from
         // the query and reset the keys on the wheres. This allows this developer to
         // include deleted model in a relationship result set that is lazy loaded.
         if ($this->isSoftDeleteConstraint($where, $column)) {
             unset($query->wheres[$key]);
             $query->wheres = array_values($query->wheres);
         }
     }
 }
Example #3
0
 /**
  * Apply the scope to a given Eloquent query builder.
  *
  * @param  \Illuminate\Database\Eloquent\Builder  $builder
  * @param  \Illuminate\Database\Eloquent\Model  $model
  * @return void
  */
 public function apply(Builder $builder, Model $model)
 {
     $builder->whereNull($model->getQualifiedDeletedAtColumn());
 }