/**
  * Find data by multiple values in one field
  *
  * @param       $field
  * @param array $values
  * @param array $columns
  *
  * @return mixed
  */
 public function findWhereIn($field, array $values, $columns = ['*'])
 {
     $this->applyCriteria();
     $model = $this->model->whereIn($field, $values)->get($columns);
     $this->resetModel();
     return $this->parserResult($model);
 }
 /**
  * Find data by multiple values in one field
  *
  * @param       $field
  * @param array $values
  *
  * @return mixed
  */
 public function whereIn($field, array $values)
 {
     $this->applyCriteria();
     $this->model = $this->model->whereIn($field, $values);
     return $this;
     //return $this->parserResult($model);
 }
Example #3
0
 /**
  * Add whereIn condition for next query.
  *
  * @param string $column
  * @param array  $value
  *
  * @return void
  */
 public function whereIn($column, array $value)
 {
     $this->model = $this->model->whereIn($column, $value);
     return $this;
 }
Example #4
0
 /**
  * @param string $field
  * @param array $whereIn
  * @return mixed
  */
 public function whereIn($field, $whereIn = array())
 {
     return $this->model->whereIn($field, $whereIn)->get();
 }
 /**
  * Map the given results to instances of the given model.
  *
  * @param  mixed  $results
  * @param  \Illuminate\Database\Eloquent\Model  $model
  * @return Collection
  */
 public function map($results, $model)
 {
     if (count($results['hits']['total']) === 0) {
         return Collection::make();
     }
     $keys = collect($results['hits']['hits'])->pluck('_id')->values()->all();
     $models = $model->whereIn($model->getKeyName(), $keys)->get()->keyBy($model->getKeyName());
     return collect($results['hits']['hits'])->map(function ($hit) use($model, $models) {
         return $models[$hit['_id']];
     });
 }
Example #6
0
 /**
  * Get multi model by ids
  *
  * @param string slug
  * @return object object of model
  */
 public function byIds($ids)
 {
     return $this->model->whereIn('_id', $ids)->get();
 }
Example #7
0
 /**
  * Get list record from list data
  * @param $field
  * @param array $data
  * @return mixed
  */
 public function whereIn($field, $data = array())
 {
     return $this->model->whereIn($field, $data);
 }
 /**
  * @param EloquentBuilder|QueryBuilder|Model $query
  * @param string $column
  * @param EloquentBuilder|QueryBuilder|Model $subQuery
  * @param string $subQueryColumn
  *
  * @return QueryBuilder
  */
 public function scopeWhereInSubQuery($query, $column, $subQuery, $subQueryColumn)
 {
     if (!Str::contains($column, '.')) {
         /** @var Model|BetterEloquentTrait $model */
         $model = $query->getModel();
         $column = $model->getField($column);
     }
     $subQuery = $subQuery->toSubQuery($subQueryColumn, true);
     return $query->whereIn($column, $subQuery);
 }