我试图在篝火中进行连接查询(这对我初学者来说很棒)
我首先尝试在方法中设置一个公共函数,但过了一段时间,我觉得把它放在控制器中会更好(也许我错了......?)
但是,我想我的加入请求是有效的,但我无法在我看来...
这是我的控制器:
class Patient extends Admin_Controller {
public function __construct() {
parent::__construct();
$this->load->model('post_model');
Template::set_block('search/search', 'search/search');
//Template::set('toolbar_title', 'Manage Your Blog');
Template::set_theme('custom', 'default');
Template::set_block('nav', 'nav');
}
public function detail($id = null) {
$this->load->helper('typography');
$this->load->model('operation_model');
$this->db->select('*');
//$this->db->from ('operation AS ope');
$this->db->from('operation');
$this->db->join('patient', "patient.zkp_pat = operation.zkf_pat ");
$query = $this->db->get();
$post = $this->post_model->find($id);
//Template::set('post', $query);
Template::set('post', $post);
Template::set_view('detail');
Template::render();
}
}
我的观点文件:
<code>
<div class="post">
<?php
echo ($post->nom . ' ');
echo ($post->prenom . ' ');
echo ($post->zkp_pat . ' ');
echo ($post->dob);
foreach ($query as $row) :
echo ($row->zkf_pat . ' ' );
echo "titre de l'opération: " . ($row->titre);
endforeach;
?>
</div>
</code>
感谢您的建议和帮助!
答案 0 :(得分:0)
我也在BF论坛上寻求帮助,有人给了我解决方案=&gt;希望这会帮助别人。问题出在$query
,这是一个DB_result
对象。
http://www.codeigniter.com/user_guide/database/query_builder.html#selecting-data
解决我必须做的问题:$query->result()
最终代码:
控制器:
public function detail ($id = null){
$this->load->helper('typography');
$this->db->from ('operation as ope');
$this->db->join ('patient',
"patient.zkp_pat = ope.zkf_pat " );
$this->db->where ('patient.zkp_pat', $id);
$query = $this->db->get();
$post = $this->post_model->find($id);
Template::set('query', $query);
Template::set('post', $post);
Template::set_view('detail');
Template::render()
}
并查看文件:
<div class="post">
<h2><?php e($post->nom); ?></h2>
<?php
echo ($post->nom . ' '); echo ($post->prenom . ' ');
echo($post->zkp_pat . ' ');
echo ($post->dob);
foreach ($query->result() as $row) :
echo '<div>'
echo " \n";
echo ($row->zkf_pat . ' ');
echo "titre de l'opération: " . ($row->titre);
?>
</div>
<?php
endforeach;
?>
</div>
$query->get()->result()
返回包含所有已获取数据的对象,
而$query->get()->row()
只返回一个结果行,如果结果有一行,则只返回第一行。结果作为对象给出......
如果你喜欢我的编辑,请upvote,这将非常有用!