How to query a database from view - CodeIgniter

廉价感情. 提交于 2020-01-02 05:31:09

问题


I have query that runs in the controller:

$data['query'] = $this->Member->select_sql($id);    
$this->load->view('myform');

and then outputs data in the view:

foreach ($query->result() as $row):
   echo $row->post_title;
   echo $row->post_user_id;
endforeach;

So this outputs me a list of posts made by a user. Now I would like to run one more query that would for each post loop through my user table and output user information next to each post. (I dont want to select data from a view or joint those 2 tables at this time in MySQL)

Any ideas?


回答1:


Inject the database adapter or appropriate table object into the View.

From your code above, I'd assume this would be

$data['userModel'] = $this->User;

Then use it from there to run your query, e.g.

$user = $userModel->select_sql($row->post_user_id);



回答2:


Although it is not a good practice, the "cleanest" approach would be as follows:

  • Grab the CI instance in the View
  • Load the model containing your desired data extraction query functions
  • Run the function from the model in the view

So, in the view:

$CI =& get_instance();
$CI->load->model('modelname');
$result = $CI->modelname->functionname();
var_dump($result);

Tested and working.




回答3:


Simply

<?php 
                        $qryd='select * from '.$tbname.'';
                        $queryd = $this->db->query($qryd);
                        $resultset = $queryd->result_array();
                    ?>


来源:https://stackoverflow.com/questions/2075369/how-to-query-a-database-from-view-codeigniter

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!