消息:未定义属性:stdClass :: $ Date using codeigniter

时间:2014-03-07 14:44:13

标签: codeigniter

我的代码运行良好,但我得到此错误消息:未定义的属性:stdClass :: $日期,我不知道这个错误来自哪里,只要我看到我的代码是正确的。问题出在我的foreach代码中 这是我的控制器

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
session_start();

class News_and_events extends CI_Controller {
  public function __construct(){
      parent::__construct();
      $this->load->library('form_validation');
      $this->load->model('admin_model', 'am');
  }

  public function index(){
    if($this->session->userdata('logged_in')){
      $this->data['title'] = 'News and Events | Spring Rain Global Consultancy Inc Admin Panel';
      $this->data['logout'] = 'Logout';

      $session_data = $this->session->userdata('logged_in');
      $this->data['id'] = $session_data['id'];
      $this->data['username'] = $session_data['username'];

      $this->data['allData'] = $this->am->getAllData();


      $this->load->view('pages/admin_header', $this->data);
      $this->load->view('content/news_and_events', $this->data);
      $this->load->view('pages/admin_footer');
    }else{
      redirect('login', 'refresh');
    }
  }
}

我的模特

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

Class Admin_model extends CI_Model{
    public function saveData($array){
      $this->db->insert('news_and_updates', $array);
    }

    public function getAllData(){
      return $this->db->select(
                          'news_and_updates.Event',
                          'news_and_updates.Description',
                          'news_and_updates.Date'
                        )
                  ->from('news_and_updates')
                  ->order_by("Date", "desc")
                  ->get()->result_object();
    }
}
?>

和我的观点

<script type="text/javascript">
  $(document).ready(function(){
    $("#add_another").click(function(){
      alert('test');
    });
  });
</script>
 <div class="container" >
    <br />
    <br />
    <br />
    <ul id="nav">
     <li><a href="<?php echo base_url().'homepage'?>" title="Home"><h4>Home</h4></a></li>
     <li><a href="<?php echo base_url().'news-and-events'?>" title="News and Events"><h4>News and Events</h4></a></li>
     <li><a href="" title="Activities"><h4>Activities</h4></a></li>
    </ul>
    <div class="starter-template">
      <h1>News And Events</h1>
      <?php if($this->session->flashdata('add_another')):?>
        <div id="add_another" style="float:left;">
            <input  type="button" value="Add Another" class="btn btn-primary" />
          </div>
       <?php else: ?>
         <form action="<?php echo base_url().'news-and-events/add'?>" method="post">
           <?php echo validation_errors('<div class="error">', '</div>');?>
          <table class="table-striped">
            <tr>
              <td>Date: </td>
              <td><input type="text" id="datepicker" name="date" value="<?php echo set_value('date');?>" /></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td >Event: </td>
              <td ><input  type="text" name="event" value="<?php echo set_value('event');?>" /></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td width="20%">Description: </td>
              <td><textarea cols="30" rows="5" name="description" ><?php echo set_value('description');?></textarea></td>
            </tr>
             <tr>
              <td width="20%">&nbsp;</td>
              <td><input type="submit" value="Add" class="btn btn-success" /></td>
            </tr>
          </table>
        </form>
        <?php endif; ?>
      <br />
      <br />
      <table class="table" >
        <tr>
          <th>Date</th>
          <th width="51%">Event</th>
          <th>Description</th>
          <th>Options</th>
        </tr>
        <?php foreach($allData as $x => $allDatas): ?>
        <tr>
          <td><?php echo $allDatas->Date; ?></td>
          <td><?php echo $allDatas->Event; ?></td>
          <td></td>
          <td></td>
        </tr>
        <?php endforeach; ?>
      </table>
    </div>

  </div><!-- /.container -->

<script> 
      var date = new Date();
      var currentMonth = date.getMonth();
      var currentDate = date.getDate();
      var currentYear = date.getFullYear();

      $('#datepicker').datepicker({
        minDate: new Date(currentYear, currentMonth, currentDate),
        dateFormat: "yy-mm-dd"
      });

</script>

在我的foreach代码中错误是这一个$ allDatas-&gt; Date;它说消息:未定义的属性:stdClass :: $ Date 那是我的表日期中的字段名称 有人可以帮我搞清楚吗? 任何帮助深表感谢!谢谢!找不到错误

2 个答案:

答案 0 :(得分:1)

在模型或控制器中 - 执行getAllData方法后:

echo the result of $this->db->last_query()

在数据库中手动执行返回的查询,然后修复查询

答案 1 :(得分:0)

评论开始时,问题是日期不是从查询中生成的,这意味着该级别出现了错误,而不是输出本身。

确保查询正确,在您直接从控制器加载视图之前将其转储以查看它获得的内容,如果它没有获得日期,则您的问题可能在其他地方,可能在查询本身中。