首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Codeigniter活动记录类插入自

问Codeigniter活动记录类插入自
EN

Stack Overflow用户
提问于 2013-03-04 20:47:01
回答 1查看 1.5K关注 0票数 4

我有一个新闻跟踪网站,我们已经迁移到Codeigniter,我遇到了使用Codeigniter活动记录的问题-我没有足够的知识来解决这个问题。

在旧代码中,我们执行插入操作,并在插入操作中执行SELECT FROM操作,以获取插入操作中一个字段的值

代码语言:javascript
复制
$this->db->query("INSERT INTO news_item_keywords_link (news_item_keyword, keyword) 
SELECT $version_id, keyword FROM news_item_keywords_link WHERE       news_item_keyword=$old_version

我尝试过使用活动记录来做这件事,但是我不知道该怎么做,或者你可能不能用活动记录来做。

我已经尝试了一些事情,我的问题是如何在带有活动记录的INSERT语句中做内联FROM。我尝试了这种方法,但没有得到语法错误,没有任何建议。

代码语言:javascript
复制
if ($this->db->insert('news_item_keywords', Array(
                    'news_item_keyword' => $version_id,
                    'keyword' => $this-db->select('keyword') 
                                 ->from('news_item_keywords')
                                 ->where('news_item_keyword', $old_version);
    ))) {

我应该安装ORM库来扩展功能吗?如果是这样的话,推荐使用哪种ORM库?

EN

回答 1

Stack Overflow用户

发布于 2013-11-26 15:58:14

第一件事就是将模型加载到控制器中。

型号:

代码语言:javascript
复制
function add($data){
$this->insert("tablename",$data);
}
function select_keyword($oldversion){
 $this->db->select("keyword");
 $this->db->where("news_item_keywords",$oldversion);
 $this->db->get("news_item_keywords");
}

控制器:

代码语言:javascript
复制
function create(){

$data = array('news_item_keyword' => $version_id,
              'news_item_keywords' => $this->modelname->select_keyword("oldversion")
             );
$this->modelname->insert($data);//successful!

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15201954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档