2

我在使用 codeigniter 时很开心,但目前有一个烦人的小问题,当我尝试删除一个项目时,我得到“消息:未定义的属性:Site::$url”我唯一的猜测可能是 url 有问题助手被包括在内?我在配置中自动加载它。

这是我在模型中的删除功能

 function delete_record()
 {
  $this->db->where('id', $this->url->segment(3));
  $this->db->delete('items');

 }  

在这里我在视图中调用它:

<?php echo $row->subject; ?> <?php echo anchor("site/delete/$row->id","Delete");?> 

这是控制器:

function delete(){
  $this->Site_model->delete_record();
  $this->index();
  }  

并且只是为了确保我没有做错任何事情..这是在配置中的自动加载中:

$autoload['helper'] = array('url', 'form');
$autoload['libraries'] = array('database'); 

非常感谢任何帮助!

4

4 回答 4

1

没有 url 类。

你想切换$this->url->segment(3)$this->uri->segment(3)注意 I 而不是 L。

url helper用于生成站点 url 等。URI 类是 CI 核心的一个组成部分,因此它总是被加载。

URI 类

网址助手

于 2012-08-02T17:31:26.500 回答
0

一定是

$this->uri->segment(3) not $this->url->segment(3) 
于 2012-08-02T17:31:43.690 回答
0

您必须进行两项更改:

第一的:

$this->url->segment(3) to $this->uri->segment(3);

第二:在视图中

<?php echo $row->subject; ?> <?php echo anchor("site/delete/".$row->id,"Delete");?> 
于 2012-08-21T11:40:26.903 回答
0

你所做的没关系,只需将'url'替换为'uri',就像这样。

$this->url->segment(3) to $this->uri->segment(3) //replace url to uri.
于 2014-12-24T17:49:07.383 回答