Example #1
0
 protected function getBuilder()
 {
     $grammar = new \Illuminate\Database\Query\Grammars\Grammar();
     $connection = m::mock('\\Illuminate\\Database\\ConnectionInterface');
     $processor = m::mock('\\Illuminate\\Database\\Query\\Processors\\Processor');
     $query = new Query($connection, $grammar, $processor);
     $builder = new Builder($query);
     $model = new MappableStub();
     $builder->setModel($model);
     return $builder;
 }
Example #2
0
 protected function getBuilder()
 {
     $grammar = new \Illuminate\Database\Query\Grammars\Grammar();
     $connection = m::mock('\\Illuminate\\Database\\ConnectionInterface');
     $processor = m::mock('\\Illuminate\\Database\\Query\\Processors\\Processor');
     $query = new Query($connection, $grammar, $processor);
     $builder = new Builder($query);
     $joiner = m::mock('stdClass');
     $joiner->shouldReceive('join')->with('foo', m::any());
     $joiner->shouldReceive('join')->with('bar', m::any());
     $factory = m::mock('\\Sofa\\Eloquence\\Relations\\JoinerFactory');
     $factory->shouldReceive('make')->andReturn($joiner);
     Builder::setJoinerFactory($factory);
     Builder::setParserFactory(new \Sofa\Eloquence\Searchable\ParserFactory());
     $model = new BuilderModelStub();
     $builder->setModel($model);
     return $builder;
 }
 public function setUp()
 {
     Builder::setParserFactory(new ParserFactory());
     Builder::setJoinerFactory(new JoinerFactory());
 }
Example #4
0
 /**
  * Add whereHas subquery on the mapped attribute relation.
  *
  * @param  \Sofa\Eloquence\Builder $query
  * @param  string $method
  * @param  \Sofa\Eloquence\ArgumentBag $args
  * @param  string $target
  * @param  string $column
  * @return \Sofa\Eloquence\Builder
  */
 protected function mappedHasQuery(Builder $query, $method, ArgumentBag $args, $target, $column)
 {
     $boolean = $this->getMappedBoolean($args);
     $operator = $this->getMappedOperator($method, $args);
     $args->set('column', $column);
     return $query->has($target, $operator, 1, $boolean, $this->getMappedWhereConstraint($method, $args))->with($target);
 }
Example #5
0
 /**
  * Add whereHas subquery on the meta attributes relation.
  *
  * @param  \Sofa\Eloquence\Builder $query
  * @param  string $method
  * @param  \Sofa\Eloquence\ArgumentBag $args
  * @return \Sofa\Eloquence\Builder
  */
 protected function metaHasQuery(Builder $query, $method, ArgumentBag $args)
 {
     $boolean = $this->getMetaBoolean($args);
     $operator = $this->getMetaOperator($method, $args);
     if (in_array($method, ['whereBetween', 'where'])) {
         $this->unbindNumerics($args);
     }
     return $query->has('metaAttributes', $operator, 1, $boolean, $this->getMetaWhereConstraint($method, $args))->with('metaAttributes');
 }
Example #6
0
 /**
  * @param   \Sofa\Eloquence\Builder   $query
  * @param   array                     $publications
  * @return  mixed
  */
 public function scopePublishedOn($query, $publications)
 {
     return $query->whereIn('id_170', function ($query) use($publications) {
         $query->select('hotel_id_175')->from('007_175_hotels_publications')->whereIn('publication_id_175', $publications);
     });
 }
Example #7
0
 /**
  * @param   \Sofa\Eloquence\Builder     $query
  * @return  mixed
  */
 public function scopeBuilder($query)
 {
     return $query->join('014_181_spa_lang', '014_180_spa.id_180', '=', '014_181_spa_lang.id_181')->join('001_001_lang', '014_181_spa_lang.lang_id_181', '=', '001_001_lang.id_001')->join('001_002_country', function ($join) {
         $join->on('014_180_spa.country_id_180', '=', '001_002_country.id_002')->on('001_002_country.lang_id_002', '=', '001_001_lang.id_001');
     })->leftJoin('001_003_territorial_area_1', '014_180_spa.territorial_area_1_id_180', '=', '001_003_territorial_area_1.id_003')->leftJoin('001_004_territorial_area_2', '014_180_spa.territorial_area_2_id_180', '=', '001_004_territorial_area_2.id_004');
 }