gpt4 book ai didi

php - 使用 bonfire (codeigniter) 加入查询

转载 作者:行者123 更新时间:2023-11-29 22:09:49 25 4
gpt4 key购买 nike

我正在尝试在 bonfire 中进行连接查询(顺便说一句,这对于初学者来说非常有用)

我首先尝试在方法中设置一个公共(public)函数,但过了一会儿,我认为将它放在 Controller 中会更好(也许我错了......?)

但是,我想我的加入请求是有效的,但我无法在我的 View 中得到它...

这是我的 Controller :

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();
}
}

我的 View 文件:

<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>

感谢您的建议和帮助!

最佳答案

我也在BF论坛上寻求帮助,有人给了我解决方案=>希望这对其他人有帮助。问题出在 $query 上,它是一个 DB_result 对象。 http://www.codeigniter.com/user_guide/database/query_builder.html#selecting-data

为了解决这个问题,我必须这样做:$query->result()

最终代码:

Controller :

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() 仅返回单个结果行,如果结果只有一行,则仅返回第一行。结果作为对象给出...

如果您喜欢我的编辑,请投票,这将非常有帮助!

关于php - 使用 bonfire (codeigniter) 加入查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31788082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com