Doctrine Fatal Error - Unknown relation alias
Posted
by Sadiqur Rahman
on Stack Overflow
See other posts from Stack Overflow
or by Sadiqur Rahman
Published on 2010-04-15T21:04:22Z
Indexed on
2010/04/15
21:23 UTC
Read the original article
Hit count: 722
I am getting following error message:
Doctrine_Table_Exception: Unknown relation alias shoesTable in /home/public_html/projects/giftshoes/system/database/doctrine/Doctrine/Relation/Parser.php on line 237
I am using doctrine 1.2.2 with Codeigniter
My Code is below: (BaseShoes.php and Shoes.php is auto generated)
------------BaseShoes------------
<?php
// Connection Component Binding
Doctrine_Manager::getInstance()->bindComponent('Shoes', 'sadiqsof_giftshoes');
/**
* BaseShoes
*
* This class has been auto-generated by the Doctrine ORM Framework
*
* @property integer $sku
* @property string $name
* @property string $keywords
* @property string $description
* @property string $manufacturer
* @property float $sale_price
* @property float $price
* @property string $url
* @property string $image
* @property string $category
* @property Doctrine_Collection $Viewes
*
* @package ##PACKAGE##
* @subpackage ##SUBPACKAGE##
* @author ##NAME## <##EMAIL##>
* @version SVN: $Id: Builder.php 6820 2009-11-30 17:27:49Z jwage $
*/
abstract class BaseShoes extends Doctrine_Record
{
public function setTableDefinition()
{
$this->setTableName('shoes');
$this->hasColumn('sku', 'integer', 4, array(
'type' => 'integer',
'fixed' => 0,
'unsigned' => false,
'primary' => true,
'autoincrement' => false,
'length' => '4',
));
$this->hasColumn('name', 'string', 255, array(
'type' => 'string',
'fixed' => 0,
'unsigned' => false,
'primary' => false,
'notnull' => true,
'autoincrement' => false,
'length' => '255',
));
$this->hasColumn('keywords', 'string', 255, array(
'type' => 'string',
'fixed' => 0,
'unsigned' => false,
'primary' => false,
'notnull' => true,
'autoincrement' => false,
'length' => '255',
));
$this->hasColumn('description', 'string', null, array(
'type' => 'string',
'fixed' => 0,
'unsigned' => false,
'primary' => false,
'notnull' => true,
'autoincrement' => false,
'length' => '',
));
$this->hasColumn('manufacturer', 'string', 20, array(
'type' => 'string',
'fixed' => 0,
'unsigned' => false,
'primary' => false,
'notnull' => true,
'autoincrement' => false,
'length' => '20',
));
$this->hasColumn('sale_price', 'float', null, array(
'type' => 'float',
'fixed' => 0,
'unsigned' => false,
'primary' => false,
'notnull' => true,
'autoincrement' => false,
'length' => '',
));
$this->hasColumn('price', 'float', null, array(
'type' => 'float',
'fixed' => 0,
'unsigned' => false,
'primary' => false,
'notnull' => true,
'autoincrement' => false,
'length' => '',
));
$this->hasColumn('url', 'string', null, array(
'type' => 'string',
'fixed' => 0,
'unsigned' => false,
'primary' => false,
'notnull' => true,
'autoincrement' => false,
'length' => '',
));
$this->hasColumn('image', 'string', null, array(
'type' => 'string',
'fixed' => 0,
'unsigned' => false,
'primary' => false,
'notnull' => true,
'autoincrement' => false,
'length' => '',
));
$this->hasColumn('category', 'string', 50, array(
'type' => 'string',
'fixed' => 0,
'unsigned' => false,
'primary' => false,
'notnull' => true,
'autoincrement' => false,
'length' => '50',
));
}
public function setUp()
{
parent::setUp();
$this->hasMany('Viewes', array(
'local' => 'sku',
'foreign' => 'sku'));
}
}
--------------ShoesTable--------
<?php
class ShoesTable extends Doctrine_Table
{
function getAllShoes($from = 0, $total = 15)
{
$q = Doctrine_Query::create()
->from('Shoes')
->limit($total)
->offset($from);
return $q->execute(array(), Doctrine::HYDRATE_ARRAY);
}
}
---------------Shoes Model-----------------
<?php
/**
* Shoes
*
* This class has been auto-generated by the Doctrine ORM Framework
*
* @package ##PACKAGE##
* @subpackage ##SUBPACKAGE##
* @author ##NAME## <##EMAIL##>
* @version SVN: $Id: Builder.php 6820 2009-11-30 17:27:49Z jwage $
*/
class Shoes extends BaseShoes
{
function __construct() {
parent::__construct();
$this->shoesTable = Doctrine::getTable('Shoes');
}
function getAllShoes()
{
return $this->shoesTable->getAllShoes();
}
}
© Stack Overflow or respective owner