我在这一行中遇到了问题,我设法在数据库中获取数据,但是,我遇到了问题,因为我得到的是一个对象。 我还有两个问题:
- 从我的视图中显示数据,我不知道如何显示对象类型。
- 从问题 1 开始,我希望对象类型可以通过类似
<li>
查看我的代码,我在下面查看我的代码
这是我的代码:
从控制器我有这个:
public function index() {
$data = $this->Category_model->loadCategories();
if(empty($data)) {
$this->load->view('customers/header');
$this->load->view('customers/welcome');
$this->load->view('customers/footer');
}
else {
$this->load->view('customers/header',$data);
$this->load->view('customers/welcome',$data);
$this->load->view('customers/footer',$data);
var_dump($data);
}
}
现在这是我的问题,我设法var_dump
这些数据,数据看起来像这样:
array(2) { [0]=> object(stdClass)#21 (2) { ["Category_id"]=> string(1) "1" ["Category_name"]=> string(7) "Gadgets" } [1]=> object(stdClass)#22 (2) { ["Category_id"]=> string(1) "2" ["Category_name"]=> string(5) "Books" } }
所以我的观点是这样的:我怎样才能确定对象的大小,以便我将对象的大小作为我将放置多少<a href="#" class="list-group-item">Category 1</a>
。
<div class="list-group">
<?php foreach($data) { ?>
<a href="#" class="list-group-item"><?php $Category_name ?></a>
<?php } ?>
</div>
若要向视图显示数据,这应该是您的控制器:
public function index() {
$data = $this->Category_model->loadCategories();
if(empty($data)) {
$this->load->view('customers/header');
$this->load->view('customers/welcome');
$this->load->view('customers/footer');
}
else {
$this->load->view('customers/header',$data);
$this->load->view('customers/welcome',['data'=>$data]);
$this->load->view('customers/footer',$data);
var_dump($data);
}
}
注意:您应该更改视图技术。我的意思是您正在加载$this->load->view('customers/header',$data);
并使用welcome
页面进行$this->load->view('customers/footer',$data);
。如果您只需要在该welcome
页面上data
,则可以执行此操作。
$this->load->view('customers/header');
$this->load->view('customers/welcome',['data'=>$data]);
$this->load->view('customers/footer');
无需在每个视图上加载数据。仅在使用此$data
的视图上加载。
现在在视图侧显示以下内容:
array(2)
{
[0]=> object(stdClass)#21 (2)
{
["Category_id"]=> string(1) "1" ["Category_name"]=> string(7) "Gadgets"
}
[1]=> object(stdClass)#22 (2)
{
["Category_id"]=> string(1) "2" ["Category_name"]=> string(5) "Books"
}
}
<div class="list-group">
<?php foreach($data as $single_data) { ?>
<a href="#" class="list-group-item"><?= $single_data->Category_name ?></a>
<?php } ?>
</div>
作为你的第二个问题:
<ul>
<?php foreach($data as $single_data) { ?>
<li><?= $single_data->Category_name ?></li>
<?php } ?>
</ul>
试试这个:
<?php foreach($data as $d): ?>
<a href="#" class="list-group-item"><?php $d->Category_name; ?></a>
<?php endforeach; ?>
所以在这里你是作为标准对象的 gor 响应。 因此,标准对象的属性将与->
运算符一起使用。
在控制器中,请分配要查看的数据。
$this->load->view('customers/welcome',array('data'=>$data));
在您的情况下
<div class="list-group">
<?php foreach($data as $category) { ?>
<a href="#" class="list-group-item"><?= $category->Category_name?></a>
<?php } ?>
</div>
如果您的响应是数组,则可以使用下面提到的解决方案。
<div class="list-group">
<?php foreach($data as $category) { ?>
<a href="#" class="list-group-item"><?= $category['Category_name'] ?></a>
<?php } ?>
</div>
如果它不适合您,请告诉我。