Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter中的基查询方法_Php_Sql_Codeigniter_Activerecord_Codeigniter 2 - Fatal编程技术网

Php CodeIgniter中的基查询方法

Php CodeIgniter中的基查询方法,php,sql,codeigniter,activerecord,codeigniter-2,Php,Sql,Codeigniter,Activerecord,Codeigniter 2,我正在尝试创建一个基本查询,稍后可以使用它添加分组或过滤器 简化示例: function baseQuery() { $query = $this->db->select('*') return $query; } function queryWhere($value) { $query = $this->baseQuery(); $query->where($value) $result = $query->get();

我正在尝试创建一个基本查询,稍后可以使用它添加分组或过滤器

简化示例:

function baseQuery()
{
    $query = $this->db->select('*')
    return $query;
}

function queryWhere($value)
{
    $query = $this->baseQuery();
    $query->where($value)
    $result = $query->get();

    return $result
}

在CodeIgniter中,正确的方法是什么?

您的代码需要一些动态值,如表名和字段名,以扩展查询的单一用途 看看这个例子

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Testing extends CI_Controller {

    public function baseQuery($fields,$tableName)
    {
        $query = $this->db;
        $query->select($fields);
        $query->from($tableName);
        return $query;
    }

    public function queryWhere($whereCondition)
    {
        $query = $this->baseQuery('*','tablename');
        $query->where($whereCondition);
        $result = $query->get();
        return $result;
    }
    public function index() {

        $query = $this->queryWhere("id > 0");
        $data = $query->result_array();
        print_r($data);
    }  

}

我认为更好的问题是-你想在这里实现什么?除了漏掉分号之外还有错误吗?所以我有一个很长的查询,有几个连接等,我想在其他方法中使用这些查询,但有时它们会被分组,有时会有一个where等,所以我想要一个基本查询,然后我可以只标记额外的位,这样我就不必将这个长查询重复10次