Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.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_Inheritance - Fatal编程技术网

Php Codeigniter:不确定如何调用这段代码

Php Codeigniter:不确定如何调用这段代码,php,sql,codeigniter,inheritance,Php,Sql,Codeigniter,Inheritance,我浏览了SO,发现这个托管代码是减少PHP代码的推荐方法 到目前为止,从我已经掌握的使用方法来看,我喜欢它所做的事情和它使事情变得多么简单 但是,在以下代码中: /** * Get a single record by creating a WHERE clause by passing * through a CI AR where() call * * @param string $key The key to search by * @param string $val Th

我浏览了SO,发现这个托管代码是减少PHP代码的推荐方法

到目前为止,从我已经掌握的使用方法来看,我喜欢它所做的事情和它使事情变得多么简单

但是,在以下代码中:

/**
 * Get a single record by creating a WHERE clause by passing
 * through a CI AR where() call
 *
 * @param string $key The key to search by 
 * @param string $val The value of that key
 * @return object
 */
public function get_by() {
    $where =& func_get_args();
    $this->_set_where($where);

    $this->_run_before_get();
    $row = $this->db->get($this->_table)
                    ->row();
    $this->_run_after_get($row);
    return $row;
}
我不确定如何调用这个函数。 它所做的描述正是我想要做的

@params表示它接受WHERE块的键和值对,但我在方法签名中没有看到任何函数输入


请帮忙?

正如我注意到的,有很多CI代码,这很奇怪,而且对维护不友好

PHP函数可以接受n个或多个参数(其中n是签名中定义的参数数)

代码使用返回参数数组的

然后将参数数组传递给
\u set\u where()
方法,该方法将一个或两个项传递给
db->where()
方法

更具描述性的方法签名应该是

public function get_by($key, $val = null)

正如我注意到的,很多CI代码都很奇怪,而且对维护不友好

PHP函数可以接受n个或多个参数(其中n是签名中定义的参数数)

代码使用返回参数数组的

然后将参数数组传递给
\u set\u where()
方法,该方法将一个或两个项传递给
db->where()
方法

更具描述性的方法签名应该是

public function get_by($key, $val = null)

作为将来的参考,正如Phil提到的那样,
*\u by
方法将值传递给
db->where
方法。这意味着您可以在多种方法中使用它:

$row = $this->model->get_by('key', $value);
或者对多个WHERE条件使用数组:

$row = $this->model->get_by(array('key' => $value, 'other_key !=' => $value));
或者只是字符串(不要忘记转义您的值!):


既然有人问了这个问题,我现在已经这么做了,一切都应该更清楚一点。希望这能有所帮助。

供将来参考,就像Phil提到的那样,
*\u by
方法将值传递给
db->where
方法。这意味着您可以在多种方法中使用它:

$row = $this->model->get_by('key', $value);
或者对多个WHERE条件使用数组:

$row = $this->model->get_by(array('key' => $value, 'other_key !=' => $value));
或者只是字符串(不要忘记转义您的值!):


既然有人问了这个问题,我现在已经这么做了,一切都应该更清楚一点。希望这有帮助。

您想使用整个类还是仅使用该方法?我正在尝试使用该类。他有很好的设置说明,所以我能够“安装”这个类,没有问题。我可以对其他方法进行函数调用。只是不知道如何特别调用这个方法,因为我没有看到任何示例代码。方法成为模型的一部分,只能从您自己的方法中调用它们:
$query=$this->get_by($key,$val)
然后
$query->fied$query=$this->get_by($key,$val)
然后
$query->fied因使用术语键而混淆。。。如果他说了这个专栏的名字,我就不会感到困惑了。{$this->some_model->get_by('some_primarykey_columnid_name','some_value')}如何在注释中放置代码括号?使用术语key时感到困惑。。。如果他说了这个专栏的名字,我就不会感到困惑了。{$this->some_model->get_by('some_primarykey_columnid_name','some_value')}如何在注释中使用代码括号?