Don*_*ulo 4 kohana-3 kohana-orm
我有一个简单的users表,我想找到所有用户email_notifications= 1.
逻辑规定以下内容应该有效:
class Controller_Test extends Controller {
public function action_index()
{
$user = ORM::factory('user');
$user = $user->where('email_notifications', '=', 1);
$total = $user->count_all();
$users = $user->find_all();
echo $total." records found.<br/>";
foreach ($users as $v)
{
echo $v->id;
echo $v->first_name;
echo $v->last_name;
echo $v->email;
}
}
}
Run Code Online (Sandbox Code Playgroud)
然而,正在发生的事情是我从数据库中恢复了所有用户,而不仅仅是打开了email_notifications的用户.有趣的是,$total返回的值是此查询的准确数字结果.
我很难过,我不知道这里有什么问题.如果有人可以发光,我真的很感激.
谢谢,
Brian
调用count_all()将重置您的模型条件.尽量使用reset(FALSE)以避免这种情况:
$user = ORM::factory('user');
$user = $user->where('email_notifications', '=', 1);
$user->reset(FALSE);
$total = $user->count_all();
$users = $user->find_all();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5366 次 |
| 最近记录: |