CodeIgniter - 未定义的变量&试图获得非对象的属性

时间:2013-01-14 03:38:25

标签: codeigniter variables controller undefined

我试图从我的Controller中的API获取数据并将数据传递给View。但它似乎不起作用并导致错误:

消息:未定义的变量:数据消息:尝试获取非对象的属性

当我调用变量$ data时,我的View.php中发生了两个错误。

这是我的控制器中与我想要的数据相关的一部分

$jdwl['jadwal'] = $this->bolalob->api('schedules/bydate|'.$start.'/'.$end.'/10');
$data['jadwal'] = $this->load->view('jadwal', $jdwl, TRUE);

$template['content'] = $this->load->view('jadwal',$data, TRUE);
$this->load->view('template', $template);

这是我的观点

<div class="float-left first-column">
    <div class="box box-shadow red round-top round-bottom">
      <div class="title-box"><strong>JADWAL</strong> TV</div>
      <ul class="text-center no-padding">
        <?php if ($data->data == 'no data') { ?>
        <li class="jadwal-tv"><strong>Belum ada jadwal</strong>
        </li>
        <?php } else { ?>
        <?php foreach ($data->data as $key=>$row) { ?>
        <?php if ($key == 0) { ?>
        <li class="jadwal-tv"><strong><?php echo $row->team_1->name; ?></strong><br />VS<br /><strong><?php echo $row->team_2->name; ?></strong><br /><span><?php echo $row->television; ?> <?php echo date('d/m/y H:i', $row->pubdate); ?> WIB</span></li>
        <?php } else { ?>
        <li class="side-padding">
          <strong><?php echo $row->team_1->name; ?></strong> vs <strong><?php echo $row->team_2->name; ?></strong>
          <br />
          <?php echo $row->television; ?> <?php echo date('d/m/y H:i', $row->pubdate); ?> WIB
        </li>
        <?php } ?>
        <?php if ($key == 5) break; ?>
        <?php } ?>
        <?php } ?>
      </ul>
    </div>    
  </div>

错误发生在5号和9号线上的$ data。我用谷歌搜索了它并试图在我的视图中使用$ data [&#39; jadwal&#39;]而不是$ data但我没有&# 39;似乎也有效。

任何人都可以帮我这个吗? 谢谢:D

2 个答案:

答案 0 :(得分:1)

在您的视图中,无需访问$data数组。 您可以直接将数据密钥作为变量调用。

例如:

在控制器中

$data['myVar']="Some string";
$this->load->view('viewName',$data);

在视图中

echo $myVar;

答案 1 :(得分:0)

尝试使用以下视图页面。

<div class="float-left first-column">
<div class="box box-shadow red round-top round-bottom">
    <div class="title-box"><strong>JADWAL</strong> TV</div>
    <ul class="text-center no-padding">
        <?php if (empty($jadwal)) { ?>
            <li class="jadwal-tv"><strong>Belum ada jadwal</strong>
            </li>
        <?php } else { ?>
            <?php foreach ($jadwal as $key => $row) { ?>
                <?php if ($key == 0) { ?>
                    <li class="jadwal-tv"><strong><?php echo $row->team_1->name; ?></strong><br />VS<br /><strong><?php echo $row->team_2->name; ?></strong><br /><span><?php echo $row->television; ?> <?php echo date('d/m/y H:i', $row->pubdate); ?> WIB</span></li>
                <?php } else { ?>
                    <li class="side-padding">
                        <strong><?php echo $row->team_1->name; ?></strong> vs <strong><?php echo $row->team_2->name; ?></strong>
                        <br />
                        <?php echo $row->television; ?> <?php echo date('d/m/y H:i', $row->pubdate); ?> WIB
                    </li>
                <?php } ?>
                <?php if ($key == 5) break; ?>
            <?php } ?>
        <?php } ?>
    </ul>
</div>