我有一个用户模型,其中包含一个用户表(ID,电子邮件,密码,性别,状态)
我想根据条件和性别计数列出用户,这是我的代码:
$users = App\User::where('status', '1');
$users = $users->orderBy('email');
$data['all_users'] = $users; // all users
$data['total_males'] = $users->where('gender', 'M')->count(); // male count
$data['total_females'] = $users->where('gender', 'F')->count(); // female count
return view('users.list', $data);
上面的代码不会返回视图中的所有用户并过滤性别,即使我已经将结果对象$ users传递给$ data数组。
当然,我可以在视图上设置一个male_count和female_count变量,并根据if(gender ==' M')total_males ++这样的条件递增它,并显示出循环。
我在这里做错了什么?
答案 0 :(得分:1)
在您的控制器上进行有说服力的查询并将数据传递给视图的正确方法是:
$users = App\User::where('status', '1')->orderBy('email')->get();
$data['all_users'] = $users; // all users
$data['total_males'] = App\User::where('gender', 'M')->count(); // male count
$data['total_females'] = App\User::where('gender', 'F')->count(); // female count
return view('users.list', $data);
答案 1 :(得分:0)
只是一件简单的事,我忘记了!我习惯在视图上放置get()函数:: p
$data['all_users'] = $users->get(); // all users
$data['total_males'] = $users->where('gender', 'M')->count(); // male count
$data['total_females'] = $users->where('gender', 'F')->count(); // female count
答案 2 :(得分:0)
您没有调用func injectTextInSearchView(_ text: String, _ view: UIView) {
if let view = view as? UISearchBar {
view.text = text
view.delegate?.searchBar!(view, textDidChange: text)
return
}
for subview in view.subviews {
injectTextInSearchView(text, subview)
}
}
方法。请尝试
get
答案 3 :(得分:-2)
Eloquent没有执行,因为那里没有任何获取或计数方法 $ data ['all_users'] = $ users-> count(); //所有用户