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; }
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()); }
/** * 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); }
/** * 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'); }
/** * @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); }); }
/** * @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'); }