Php 如何通过模型循环查找Where子句?
我在项目中使用PHP Laravel框架时遇到了一个问题。我需要的是找到所有具有特定用户名的用户。这是我的代码Php 如何通过模型循环查找Where子句?,php,laravel,models,Php,Laravel,Models,我在项目中使用PHP Laravel框架时遇到了一个问题。我需要的是找到所有具有特定用户名的用户。这是我的代码 $keyword=$request['keywords']; $users=User::where('userName',$keyword); echo count($users); echo '<br>'; echo count($users->get()); forea
$keyword=$request['keywords'];
$users=User::where('userName',$keyword);
echo count($users);
echo '<br>';
echo count($users->get());
foreach ($users->get() as $res){
echo "results";
}
但“结果”一词并没有打印出来。这里的问题是什么?如何循环通过users对象来打印所有用户。我使用的是Laravel 5.2您应该先使用get()
或paginate()
来获取集合
然后,您通常对集合进行迭代:
$users = User::where('userName', $request['keywords'])->get();
echo $users->count();
foreach ($users as $user){
echo $user->id;
}
User::where('userName',$keyword)->get()
这将返回用户总数。它返回0个用户。我已将你提到的报表分为两部分,并分别打印了账目。get()之后,它变为0。get()
返回准确的结果,这意味着查询不返回db行。@user3888646这是因为没有具有userName=$request['keyword']
的用户。但我的数据库中有一个具有我检查过的名称的用户。:-(你知道为什么它在两个实例中打印1和0吗?foreach($users->get()as$res){
他在foreach循环中这样做了
$users = User::where('userName', $request['keywords'])->get();
echo $users->count();
foreach ($users as $user){
echo $user->id;
}