OK、データベース テーブルからいくつかの列を選択したいとしますが、それらの列がメソッドに含まれているかわかりません。それらを渡すこともできましたが、データベース メソッドを呼び出すメソッドに応じて多かれ少なかれ変わる可能性があります。
簡単な修正は SELECT * ですが、これは良くないことであり、必要以上のデータが返される可能性があることを理解しています。また、そのテーブルのすべてのデータが必要なわけではありません。
だから私はこれを行うために CodeIgniter と準備されたステートメントを使用しています.
function get_pages() {
$this->db->select('pages.id, pages.title, pages.on_nav, pages.date_added, admin.first_name, admin.last_name')
->from('pages, admin')
->where('pages.admin_id = admin.id')
->order_by('pages.id', 'ASC');
$query = $this->db->get();
return $query->result();
}
シンプルな機能ですが、現時点では「ページ」のみの取得に限定されています。これを変換して、他のテーブルからも取得できるようにしたいと考えています。最善の方法は何ですか?
よろしくお願いします。
編集 CodeIgniter には多くのコントローラーがあります。1 つは「ページ」、1 つは「製品」、1 つは「ニュース」などです。各コントローラーのモデルに単一のデータベース クエリ メソッドを作成したくありません。