条令\连接\ Mysql\使用条令保存行时出现异常
我有一张简单的桌子。这是模型图像:条令\连接\ Mysql\使用条令保存行时出现异常,mysql,orm,doctrine,php-5.3,Mysql,Orm,Doctrine,Php 5.3,我有一张简单的桌子。这是模型图像: abstract class BaseImages extends Doctrine_Record { public function setTableDefinition() { $this->setTableName('images'); $this->hasColumn('id', 'integer', 4, array( 'type' => 'integer',
abstract class BaseImages extends Doctrine_Record
{
public function setTableDefinition()
{
$this->setTableName('images');
$this->hasColumn('id', 'integer', 4, array(
'type' => 'integer',
'length' => 4,
'fixed' => false,
'unsigned' => false,
'primary' => true,
'autoincrement' => true,
));
$this->hasColumn('file', 'string', 45, array(
'type' => 'string',
'length' => 45,
'fixed' => false,
'unsigned' => false,
'primary' => false,
'notnull' => false,
'autoincrement' => false,
));
$this->hasColumn('order', 'integer', 4, array(
'type' => 'integer',
'length' => 4,
'fixed' => false,
'unsigned' => false,
'primary' => false,
'default' => '0',
'notnull' => false,
'autoincrement' => false,
));
}
public function setUp()
{
parent::setUp();
$this->hasMany('AuthorsHasImages', array(
'local' => 'id',
'foreign' => 'images_id'));
$this->hasMany('Banners', array(
'local' => 'id',
'foreign' => 'images_id'));
$this->hasMany('BooksHasImages', array(
'local' => 'id',
'foreign' => 'images_id'));
$this->hasMany('Collections', array(
'local' => 'id',
'foreign' => 'images_id'));
$this->hasMany('IllustratorsHasImages', array(
'local' => 'id',
'foreign' => 'images_id'));
$this->hasMany('MerchandisingHasImages', array(
'local' => 'id',
'foreign' => 'images_id'));
}
}
当我使用:
$image = new Images();
$image->file = $name;
$image->save();
我有以下错误:
致命错误:未捕获异常“条令\u连接\u Mysql\u异常”,消息为“SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解使用接近“order,file”值('0','P8040001.JPG')的正确语法在/Users/maurogadaleta/Sites/org.blackiebooks/phpinc/doctrine/doctrine/Connection.php中的“第1行”:1082堆栈跟踪:#0/Users/maurogadaleta/Sites/org.blackiebooks/phpinc/doctrine/doctrine/Connection/Statement.php(269):doctrine\u Connection->rethrowException(Object(PDOException),Object(doctrine\u Connection\u Statement)#1/Users/maurogadaleta/Sites/org.blackiebooks/phpinc/doctrine/doctrine/Connection.php(1042):doctrine_Connection_语句->执行(数组)#2/Users/maurogadaleta/Sites/org.blackiebooks/phpinc/doctrine/doctrine/Connection.php(687):doctrine_Connection->exec('INSERT-INTO-ima…',数组)#3/Users/maurogadaleta/Sites/org.blackiebooks/phpinc/doctrine/doctrine/Connection/UnitOfWork.php(647):第1082行的doctrine\in/Users/maurogadaleta/Sites/org.blackiebooks/phpinc/doctrine/doctrine/Connection.php
有人知道我为什么会出现这个错误,以及我能做些什么来解决这个问题吗?似乎条令没有引用列名,顺序是一个MySQL关键字。尝试重命名该列(如果可能的话,也可以强制该列引用)。使用标识符引用
$conn->setAttribute(Doctrine_Core::ATTR_QUOTE_IDENTIFIER, true);
型号名称应避免使用复数名称。如果您这样做,条令可能会检测到错误的关系类型。重命名字段更容易