propel-bundle/Tests/Fixtures/ItemQuery.php
2016-01-23 21:41:17 +01:00

131 lines
3.2 KiB
PHP

<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Propel\Bundle\PropelBundle\Tests\Fixtures;
class ItemQuery
{
private $map = array(
'id' => \PropelColumnTypes::INTEGER,
'value' => \PropelColumnTypes::VARCHAR,
'price' => \PropelColumnTypes::FLOAT,
'is_active' => \PropelColumnTypes::BOOLEAN,
'slug' => \PropelColumnTypes::VARCHAR,
'enabled' => \PropelColumnTypes::BOOLEAN_EMU,
'updated_at' => \PropelColumnTypes::TIMESTAMP,
);
private $caseInsensitiveMap = array(
'isactive' => 'is_active',
'updatedat' => 'updated_at',
);
public static $result = array();
public function find()
{
return self::$result;
}
public function filterById($id)
{
return $this;
}
public function getTableMap()
{
// Allows to define methods in this class
// to avoid a lot of mock classes
return $this;
}
public function getPrimaryKeys()
{
$cm = new \ColumnMap('id', new \TableMap());
$cm->setType('INTEGER');
$cm->setPhpName('Id');
return array('id' => $cm);
}
/**
* Method from the TableMap API.
*/
public function hasColumn($column)
{
return in_array($column, array_keys($this->map));
}
/**
* Method from the TableMap API.
*/
public function getColumn($column)
{
if ($this->hasColumn($column)) {
return new Column($column, $this->map[$column]);
}
}
/**
* Method from the TableMap API.
*/
public function hasColumnByInsensitiveCase($column)
{
$column = strtolower($column);
return in_array($column, array_keys($this->caseInsensitiveMap));
}
/**
* Method from the TableMap API.
*/
public function getColumnByInsensitiveCase($column)
{
$column = strtolower($column);
if (isset($this->caseInsensitiveMap[$column])) {
return $this->getColumn($this->caseInsensitiveMap[$column]);
}
}
/**
* Method from the TableMap API.
*/
public function getRelations()
{
// table maps
$authorTable = new \TableMap();
$authorTable->setClassName('\Foo\Author');
$resellerTable = new \TableMap();
$resellerTable->setClassName('\Foo\Reseller');
// relations
$mainAuthorRelation = new \RelationMap('MainAuthor');
$mainAuthorRelation->setType(\RelationMap::MANY_TO_ONE);
$mainAuthorRelation->setForeignTable($authorTable);
$authorRelation = new \RelationMap('Author');
$authorRelation->setType(\RelationMap::ONE_TO_MANY);
$authorRelation->setForeignTable($authorTable);
$resellerRelation = new \RelationMap('Reseller');
$resellerRelation->setType(\RelationMap::MANY_TO_MANY);
$resellerRelation->setLocalTable($resellerTable);
return array(
$mainAuthorRelation,
$authorRelation,
$resellerRelation,
);
}
}