【问题标题】:join query with bonfire (codeigniter)使用篝火(codeigniter)加入查询
【发布时间】:2015-10-25 14:33:46
【问题描述】:

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

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

但是,我想我的加入请求是有效的,但我无法在我看来...

这是我的控制器:

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>

感谢您的建议和帮助!

【问题讨论】:

    标签: php mysql codeigniter join


    【解决方案1】:

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

    为了解决我不得不做的问题:$query-&gt;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-&gt;get()-&gt;result() 返回一个包含所有获取数据的对象, 而$query-&gt;get()-&gt;row()只返回一个结果行,如果结果有一行,它只返回第一行。结果以对象的形式给出...

    如果你喜欢我的编辑,请点赞,这将非常有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 2015-11-01
      • 2015-09-24
      • 1970-01-01
      相关资源
      最近更新 更多