Doctrine CodeIgniter MySQL CRUD errors
- by 01010011
Hi,
I am using CI + Doctrine + MySQL and I am getting the following CRUD errors:
(1) When trying to create a new record in the database with this code:
  $book_title = 'The Peloponnesian War';
     $b = new Book();
    $b-title = $book_title;
    $b-price = 10.50;
    $b-save();      
I get this error:
  Fatal error: Uncaught exeption 'Doctrine_Connection_Mysql_Exception' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'title' in 'field list' in ...
(2) When trying to fetch a record from the database and display on my view page with this code:
  $book_title = 'The Peloponnesian War';
  $title = $book_title;
  $search_results =  Doctrine::getTable('Book')-findOneByTitle($title);
  echo $search_results-title; (in view file)
I get this error:
  Fatal error: Uncaught exception 'Doctrine_Connection_Mysql_Exception' with message 'SQLSTATE[45S22]: Column not found: 1054 Unknown column 'b.id' in 'field list" in ...
And finally, when I try to update a record as follows:
  $book_title = 'The Peloponnesian War';
  $title = $book_title;
  $u = Doctrine::getTable('Book')-find($title);
  $u-title = $title;
  $u-save();  
I get a similar error:
  Fatal error: Uncaught exception
  'Doctrine_Connection_Mysql_Exception'
  with message 'SQLSTATE[42S22]: Column
  not found: 1054 Unknown column 'b.id'
  in 'field list''in ...
Here is my Doctrine_Record model:
class Book extends Doctrine_Record{
    public function setTableDefinition()
    {
       $this->hasColumn('book_id');
       $this->hasColumn('isbn10','varchar',20);
       $this->hasColumn('isbn13','varchar',20);
       $this->hasColumn('title','varchar',100);
       $this->hasColumn('edition','varchar',20);
       $this->hasColumn('author_f_name','varchar',20);
       $this->hasColumn('author_m_name','varchar',20);
       $this->hasColumn('author_l_name','varchar',20);
       $this->hasColumn('cond','enum',null, array('values' => array('as new','very      good','good','fair','poor')));
       $this->hasColumn('price','decimal',8, array('scale' =>2));
       $this->hasColumn('genre','varchar',20);
    }
    public function setUp()
    {
       $this->setTableName('Book');
       //$this->actAs('Timestampable');
    }
Any assistance will be really appreciated. Thanks in advance.