codeigniter 结构, 类里有一个方法叫insert(),调用这个方法就能实现某个帖子的点击数查询,就是用户访问了这个帖子,这个帖子的访问数增加一个。但我不知道如何调用这个方法,在mvc结构里,在哪里调用它呢?我在点击这个帖子的标题(即,要进入这个帖子观看)的时候,启动的方法里,加入了
$nt['notice_hit'] = $nt['notice_hit'] + 1; 这一段具体代码如下tag.push('<td class="td2"><a href="/hr/notice/detail/'+json.notice_seq+'">'+json.notice_title+'</a></td>');上面的detail方法如下
public function detail($notice_seq='')
{
$notice_seq = (int) $notice_seq;
if($notice_seq == 0){$this->msg("ERROR");}
$nt = Cl::get('Notice');
$nt->load($notice_seq);
$this->_location("BBS >NOTICE >".$nt['notice_title']);
$nt['notice_hit'] = $nt['notice_hit'] + 1;
$this->_layout('default');
$this->_view(array('nt'=> $nt));
}但貌似不对,请各位指教。
$nt['notice_hit'] = $nt['notice_hit'] + 1; 这一段具体代码如下tag.push('<td class="td2"><a href="/hr/notice/detail/'+json.notice_seq+'">'+json.notice_title+'</a></td>');上面的detail方法如下
public function detail($notice_seq='')
{
$notice_seq = (int) $notice_seq;
if($notice_seq == 0){$this->msg("ERROR");}
$nt = Cl::get('Notice');
$nt->load($notice_seq);
$this->_location("BBS >NOTICE >".$nt['notice_title']);
$nt['notice_hit'] = $nt['notice_hit'] + 1;
$this->_layout('default');
$this->_view(array('nt'=> $nt));
}但貌似不对,请各位指教。
数据层model继承ci的model类
Controller继承CI_Controller __construct load model类
$this->model->insert()
{
$notice_seq = (int) $notice_seq;
if($notice_seq == 0){$this->msg("ERROR");}
$nt = Cl::get('Notice');
$nt->load($notice_seq);
$this->_location("BBS >NOTICE >".$nt['notice_title']);
$this->load->model('notice_hit');
$this->model->insert();
$this->_layout('default');
$this->_view(array('nt'=> $nt));
}
运行页面时提示 Message: Undefined property: Notice::$model
public function insert()
{
if(!$this->fk_notice_seq || !$this->fk_user_seq) return false;
/*------------------------------------------------------------*/
$ci = & get_instance();
/*------------------------------------------------------------*/ $data = array( 'fk_notice_seq' => $ci->db->escape_str($this->fk_notice_seq),
'fk_user_seq' => $ci->db->escape_str($this->fk_user_seq),
'notice_hit_time' => 'UNIX_TIMESTAMP()'
); $ci->notice_hit->i($data);
$notice = \Cl::get("Notice");
$notice->load($this->fk_notice_seq);
$notice->hit();
return ($this->notice_hit->affected_rows() > 0);
}
$this->notice_hit->insert();
/**
* @author kinuz
* @since 2011. 6. 2
*/
namespace MODEL
{
class Notice_hit extends \SIO_Model
{
public function __construct()
{
parent::__construct();
$this->_init();
}
private function _init()
{
$this->table = 'notice_hit';
$this->set_order("notice_hit_time DESC");
}
}
}类文件NoticeHit里的insert()方法如下
public function insert()
{
if(!$this->fk_notice_seq || !$this->fk_user_seq) return false;
/*------------------------------------------------------------*/
$ci = & get_instance();
/*------------------------------------------------------------*/ $data = array( 'fk_notice_seq' => $ci->db->escape_str($this->fk_notice_seq),
'fk_user_seq' => $ci->db->escape_str($this->fk_user_seq),
'notice_hit_time' => 'UNIX_TIMESTAMP()'
); $ci->notice_hit->i($data);
$notice = \Cl::get("Notice");
$notice->load($this->fk_notice_seq);
$notice->hit();
return ($this->notice_hit->affected_rows() > 0);
}
$this->notice_hit->insert(); 这两个写在哪里阿?
{
$notice_seq = (int) $notice_seq;
if($notice_seq == 0){$this->msg("ERROR");}
$nt = Cl::get('Notice');
$nt->load($notice_seq);
$this->_location("BBS >NOTICE >".$nt['notice_title']);
$this->load->model('notice_hit');
$this->notice_hit->insert();
$this->_layout('default');
$this->_view(array('nt'=> $nt));
}
是不是这边完成插入数据库记录
{
/*------------------------------------------------------------*/
$ci = & get_instance();
/*------------------------------------------------------------*/ $data = array( 'notice_hit' => 'notice_hit+1');
$ci->notice->u($data, array("notice_seq = {$ci->db->escape($this->notice_seq)}"));
return ($ci->notice->affected_rows() > 0);
}
{
$data = (array) $data;
if(count($data) > 0) {
$sql = add_comment().$this->db->insert_string($this->table, $data);
$sql = $this->check_query($sql);
if($this->db->query($sql)) {
return TRUE;
}
}
return FALSE;
}
{
$notice_seq = (int) $notice_seq;
if($notice_seq == 0){$this->msg("ERROR");}
$nt = Cl::get('Notice');
$nt->load($notice_seq);
$this->_location("BBS >NOTICE >".$nt['notice_title']);
$nh = Cl::get('NoticeHit');
$nh->insert();
$this->_layout('default');
$this->_view(array('nt'=> $nt));
}但没有效果。