2016-12-22 8 views
1

私はcodeigniterのPHP Webアプリケーションを開発しています。これを解決する方法致命的なエラー:未定義のメソッドを呼び出すCI_DB_mysql_driver :: group_start()

Fatal error: Call to undefined method CI_DB_mysql_driver::group_start() in C:\wamp\www\ci_sock\application\models\customer_m.php on line 31

enter image description here

:私はこのようなエラーを得ています。

foreach ($this->column_search as $item) // loop column 
    { 
     if($_POST['search']['value']) // if datatable send POST for search 
     { 

      if($i===0) // first loop 
      { 
       $this->db->group_start(); // open bracket. query Where with OR clause better with bracket. because maybe can combine with other WHERE with AND. 
       $this->db->like($item, $_POST['search']['value']); 
      } 
      else 
      { 
       $this->db->or_like($item, $_POST['search']['value']); 
      } 

      if(count($this->column_search) - 1 == $i) //last loop 
       $this->db->group_end(); //close bracket 
     } 
     $i++; 
    } 

このような31行$this->db->group_start();があります。以下の私PHPのコードがあります。

私はこれを解決するのを手伝ってください。

+0

をすることができますループの後でforeachとgroup_endの前にgroup_start()を適用してみてください。 – Rajesh

+0

コードでせん断してください。私はcodeigniterで表現していません。 –

+0

グループをどのようにグループ化するかによって、グループOR条件を個別にグループ化することもできます。 'or_group_start() - >ここで( 'b'、 'b') - >ここで( 'c'、 ' c ') - > group_end() ' – Rajesh

答えて

1

この方法を試してください。

$this->db->group_start(); 
$this->db->or_group_start(); 
foreach ($this->column_search as $item) // loop column 
    { 
     if($_POST['search']['value']) // if datatable send POST for search 
     { 
        $this->db->or_like($item, $_POST['search']['value']); 
     } 
    } 
    $this->db->or_group_end(); 
    $this->db->group_end(); 

注:私はこの問題の解決策を持っているこの瞬間に

2

をこのコードを実行するチェックしませんでした、次のようにコードを変更してください:

if($_POST['search']['value']) // if datatable send POST for search 
      { 

       if($i===0) // first loop 
       { 
        // $this->db->group_start(); // open bracket. query Where with OR clause better with bracket. because maybe can combine with other WHERE with AND. 
        $this->db->like($item, $_POST['search']['value']); 
       } 
       else 
       { 
        $this->db->or_like($item, $_POST['search']['value']); 
       } 

       if(count($this->column_search) - 1 == $i); //last loop 
        // $this->db->group_end(); //close bracket 


      } 
関連する問題