0

関数を使用して SQL クエリ全体を設定しています。この関数は、SQL を取得し、必要に応じて使用するために他の 2 つによって使用されます。

ここで、別の関数で同じクエリを実行したいのですが、以前の関数で必要だったすべてのフィールドは必要ありません。したがって、設定後にクエリの SELECT 部分を置換する方法があるかどうかを知りたいです。

擬似コード:

function sql(){
  $this->db->select('*');
  $this->db->from('table');
}
function defaultSql(){
  $this->sql();
  $this->get();
}
function notAllFields(){
  $this->sql();
  // This is the solution I'm looking for. It should clear the select
  $this->db->clearSelect();
  // I define a different select
  $this->db->select('field');
  $this->get();
}

前もって感謝します!

4

3 に答える 3

0

この方法を試すことができますか??

  function sql($fields = '*') {
    $this->db->select($fields);
    $this->db->from('table');
  }

  function defaultSql() {
    $this->sql();
    // ......
  }

  function notAllFields() {
    $this->sql('field');
    // .....
  }
于 2013-05-13T07:48:04.107 に答える