Ami*_*ole 0 model codeigniter loading
这是我的模特:
<?php
class Dbtest extends CI_Model {
function __construct()
{
// Call the Model constructor
parent::__construct();
}
function getAll() {
parent::Model();
$this->db->select('title, content');
$this->db->from('posts');
$this->db->where('post_id', 1);
$q = $this->db->get();
if($q->num_rows() > 0) {
foreach ($q->result() as $row) {
$data[] = $row;
}
return $data;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的控制器:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Dbtest extends CI_Controller {
function index() {
$this->load->model('dbtest');
$data['rows'] = $this->dbtest->getAll();
$this->load->view('dbtest', $data);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的看法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div id="container">
<p>My view has been loaded</p>
<?php foreach($rows as $r) : ?>
<h1><?php echo $r->title; ?></h1>
<div><?php echo $r->content; ?></div>
<?php endforeach; ?>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我一直收到500服务器错误.我怎么可能做错了.我已经自动加载了数据库库.请帮助一个codeigniter新手尝试学习这个伟大的框架.
function getAll() {
parent::Model(); //<-------------------Remove this line
$this->db->select('title, content');
$this->db->from('posts');
Run Code Online (Sandbox Code Playgroud)
快速浏览一下,为什么这条线路在那里?
它是一个php4构造函数调用旧版本的Model基类,不再存在..
删除并重试.
编辑
此外,您不能将模型和Controller命名为同名,它们具有命名空间冲突.
调用模型Dbtest_model或其他东西并以这种方式使用它.
而且,这是不必要的
if($q->num_rows() > 0) {
foreach ($q->result() as $row) {
$data[] = $row;
}
return $data;
}
Run Code Online (Sandbox Code Playgroud)
$q->result() 返回一个数组,无需循环并重建......只需这样做......
if($q->num_rows() > 0) {
return $q->result();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4377 次 |
| 最近记录: |