这是我的数据库表(以前,我使用垂直设计,但由于缺乏数据类型支持,我改为水平设计(:
+-----------+-------------------+
| site_name | site_url |
+-----------+-------------------+
| Awesome | http://localhost/ |
+-----------+-------------------+
控制器:
public function index() {
$data = $this->db->select("*")->from('settings')->get()->result_array();
$new_data = $data['0'];
$this->parser->parse('default/header.php', $new_data);
}
视图:
<a href="{site_url}">{site_name}</a>
上面的$data将打印:
Array
(
[0] => Array
(
[site_name] => Awesome
[site_url] => http://localhost/
)
)
我认为我的控制器的代码看起来很愚蠢。有没有更好的方法来循环使用 foreach()
自动传递键和值,以便我可以将其与 CodeIgniter 的模板解析器(如 {site_name}
{site_url}
(一起使用?
有关其他参考,您可以看到此问题,它是相关的,但不是重复的。
试试这个
控制器
public function index() {
$settings = $this->db->get('settings')->first_row();
$this->parser->parse('default/header.php', $settings);
}
视图
<a href="{site_url}">{site_name}</a>
您当前的代码将工作,直到您有一行,如果您有很多行怎么办,此代码在这种情况下将不起作用,您将需要一些循环,例如foreach。
您可以将数据库操作保留在模型中,而不是控制器中。
否则看起来不错,不傻。 每个人都有自己的代码编写方式。