我在CodeIgniter的控制器中有一个函数,如下所示:
public function age($var = null)
{
$data = $this->mongo_db
->where('age', $var)
->get('users');
echo "<pre>";
print_r($data);
echo "</pre>";
}
当我导航到 http://www.siteurl.com/controller/age/25 时,它应该带回所有年龄为 25 的文档,但它不会返回任何数据。
如果我将查询修改为以下内容,它可以正常工作...
public function age($var = null)
{
$data = $this->mongo_db
->where('age', 25)
->get('users');
echo "<pre>";
print_r($data);
echo "</pre>";
}
这可能是非常简单的事情,但我是编码点火器的新手,我只是看不出出了什么问题!
任何帮助将不胜感激。提前感谢!
我能看到两者之间的唯一区别是$var
是字符串而不是整数。我现在无法对此进行测试,但我怀疑您需要在将变量传递给 Alex 的库之前将变量类型转换为整数。
$data = $this->mongo_db
->where('age', (int) $var)
->get('users');
试试这个:
public function age($var = false)
{
if ($var) {
$data = $this->mongo_db
->where('age', $var)
->get('users');
echo "<pre>";
print_r($data);
echo "</pre>";
}
}
你配置了任何路由吗? 在配置中放置这样的东西
$route['controller/age/(:num)'] = "controller/age/$1";