【发布时间】:2014-04-14 21:12:00
【问题描述】:
我是新的代码点火器,我按照视频教程创建初始代码 但是,我无法更新记录。
这里是代码
类 MY_Model 扩展了 CI_Model {
const DB_TABLE = "abstract";
const DB_TABLE_PK = "abstract";
public function __construct()
{
$this->load->database();
}
private function insert()
{
$this->db->insert($this::DB_TABLE, $this);
$this->{$this::DB_TABLE_PK} = $this->db->insert_id();
}
private function update()
{
$this->db->update($this::DB_TABLE, $this, $this::DB_TABLE_PK);
}
public function save()
{
if(isset($this->{$this::DB_TABLE_PK}))
{
echo "inserting record";
$this->update();
}
else
{
echo "updating record";
$this->insert();
}
}
}
类发布扩展了 MY_Model {
const DB_TABLE = "publication";
const DB_TABLE_PK = "publication_id";
public $publication_id;
public $publication_name;
}
杂志类扩展 CI_Controller {
公共函数 db_update_publication_record()
{
$this->load->model('Publication');
$this->Publication->publication_id = 2;
$this->Publication->publication_name = "update record -- it worked";
$this->Publication->save();
echo "<tt><pre>". var_export($this->Publication, TRUE)."</pre></tt>";
}
}
当我尝试更新时,找不到 DB_TABLE_PK 并尝试插入, 如何将模型中的主键设置为可以更新记录。
请帮忙
【问题讨论】:
标签: php codeigniter-2