我制作了超级简单的代码,使用Codeigniter从数据库生成数据。数据显示在我的视图上,但存在一些问题。每条记录生成9次。示例我有数据ID数据库,名称为:John Doe,电子邮件:john @ doe.com,Birthdate:xxxx-xx-xx它循环9次。
以下是模型:
<?php
class Transaction extends CI_Model
{
function getdata()
{
$this->db->select('name, email, schools_name');
$this->db->from('employee, schools');
$r = $this->db->get();
return $r;
}
}
控制器:
<?php
class Layer extends CI_Controller
{
function index()
{
$this->load->model('transaction');
$data['data'] = $this->transaction->getdata();
$data['title'] = 'This is title';
$this->load->view('test', $data);
}
}
并查看:
<!DOCTYPE html>
<html>
<head>
<title>Check</title>
</head>
<body>
<?php
echo heading($title, 1);
foreach (($data->result()) as $row)
{
echo '<p>Name: ' . $row->name . 'and <br> Email: ' . $row->email . '<br> Schools: '.$row->schools_name.'</p>';
}
?>
</body>
</html>
也许我太累了,我只是找不到导致这种情况的原因。 :d
非常感谢,
编辑: var_dump结果,限制为1:
array(1) { [0]=> object(stdClass)#20 (3) { ["name"]=> string(16) "Braxton Amundson" ["email"]=> string(18) "braxam27@gmail.com" ["schools_name"]=> string(21) "Penn State University" } }
答案 0 :(得分:1)
我认为您试图从两个不允许的表中进行选择:
$this->db->from('employee, schools');
您必须更新代码,才能根据所选字段选择正确的(一个)表格。如果要同时使用这两个表,则必须转到(加入)策略,例如(内部联接),并使用某个键或值链接两个表。
您可以使用(加入)通道:
$this->db->join();
对此进行了详细解释(Here)。希望你能找到这个有用的。