Codeigniter - 教义插入错误 - 多对一关系
Posted
技术标签:
【中文标题】Codeigniter - 教义插入错误 - 多对一关系【英文标题】:Codeigniter - Doctrine inserting error - Many To One relation 【发布时间】:2011-11-02 18:44:47 【问题描述】:我在使用 Doctrine 2 和 Codeigniter 2 在数据库中插入新行时遇到问题。
我有两个表:语言、类别。
表格:类别:
id、languages_id、parent_id、标题
详细的表结构-http://pastebin.com/NhULaasc
表格:语言:
id、标题、slug、图标
详细的表结构-http://pastebin.com/Y6WpzdqF
实体:
Categories.php - http://pastebin.com/HbpKZGBL
Languages.php - http://pastebin.com/vDEd60NP
modelsLanguagesProxy.php - http://pastebin.com/j6zkeR3J
插入过程:
$data = $this->input->post();
if( is_array($data) && count($data) )
unset($data['submit']);
$add = new models\Categories();
$add->setLanguage($data['language_id']);
$add->setParentId($data['parent']);
$add->setTitle($data['title']);
$this->em->persist($add);
$this->em->flush();
if( $add->getId() )
$this->session->set_flashdata('message','Kategorija je dodana!');
redirect('admin/kategorije');
else
$this->session->set_flashdata('message','Kategorija ni dodana!');
redirect('admin/kategorije');
错误:
Fatal error: Uncaught exception 'InvalidArgumentException' with
message 'A new entity was found through the relationship 'models
\Categories#languages' that was not configured to cascade persist
operations for entity: @. Explicitly persist the new entity or
configure cascading persist operations on the relationship....
我做错了什么?
【问题讨论】:
【参考方案1】:我已经解决了这个问题。
我的完整解决方案:https://gist.github.com/1338884
【讨论】:
以上是关于Codeigniter - 教义插入错误 - 多对一关系的主要内容,如果未能解决你的问题,请参考以下文章