【问题标题】:Call to a member function get_menu() on null and Undefined property:在 null 和 Undefined 属性上调用成员函数 get_menu():
【发布时间】:2020-09-23 17:16:00
【问题描述】:

它显示了这个错误http://prntscr.com/umlamf,我有这个代码

控制器:

public function index()
{            
$data['polozky'] = $this->cetba_model->get_menu();
$this->load->view('templates/header', $data);
$this->load->view('pages/ctenari', $data);  
$this->load->view('templates/footer');
       

}

查看:

  <div class="collapse navbar-collapse" id="navbarSupportedContent">
    <ul class="navbar-nav mr-auto">
        <?php foreach($polozky as $p): ?>
        <li class ="nav-item">
        <a class="nav-link" href="<?php echo base_url()?> <?= $p->polozka_menu ?>"><?= $p->polozka_menu?><span class="sr-only">(current)</span></a>
        </li>
    <?php endforeach; ?>
    </ul>
  </div>

还有这个模型:

<?php
class cetba_model extends CI_Model  
{
public function get_menu() 
        {
        $this->db->order_by('idmenu');
        $query = $this->db->get($this->menu);
        
    
        return $query->result();
    
        }
  }

我不知道该怎么做才能让它工作,有人可以帮助我吗?

【问题讨论】:

  • 这样使用$query = $this-&gt;db-&gt;get('table_name');
  • 你在哪里定义$this-&gt;cetba_model?请向我们展示您这样做的控制器部分。
  • 缺少; 查看文件

标签: php codeigniter codeigniter-3


【解决方案1】:

order_by() 函数需要两个参数

第一个参数包含您要排序的列的名称。

第二个参数让你设置结果的方向。选项有 ASC、DESC 和 RANDOM。

在 $this->db->get('') 你应该提供你的表名。以下代码希望能解决您的问题

 <?php
class cetba_model extends CI_Model  
{
public function get_menu() 
        {
        $this->db->order_by('idmenu','ASC');
        $query = $this->db->get('your_table_name');
        
    
        return $query->result();
    
        }
  }


and in your controller do not forget to call your model, like this 

$this->load->model('model_name') 

【讨论】:

    猜你喜欢
    • 2017-08-09
    • 2020-03-10
    • 2017-09-24
    • 2018-02-06
    • 2018-09-29
    • 2018-08-04
    • 2020-03-28
    • 2020-10-28
    • 2020-09-01
    相关资源
    最近更新 更多