我必须创建一条路线,在该路线中需要检查用户的票证数量,其状态和日期。
它的数据库向我返回票证的ID,与票证有关的user_id,票证的状态及其到期日期。
因此,例如,假设用户100在2019年1月10日有2张票证的状态为“到期”,并在12年1月1日还有2张票证的状态为“ not_used” -2019。
所以,我必须返回类似的内容:
User 100
{
"count": 2,
"expiration_date": 2019-01-10,
"status": expirate,
},
{
"count": 1,
"expiration_date": 2019-01-12,
"status": not_used,
}
由于我是Laravel的新手,所以我尝试使用它的工具。我的控制器就是这样。
Controller.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class UsersCreditsController extends Controller
{
public function getUsersCredits()
{
$users = DB::select('select user_id from users_credits');
return view('users_credits',['users'=>$users]);
}
}
我的想法是制作一个foreach
来计算在数据库中注册的每个user_id。然后,根据其状态查找每个ID和组。
使用Laravel是否有更好的方法?
答案 0 :(得分:2)
是的!有一种雄辩的方法:
$users = DB::table('users')->count();
我建议查看Laravel文档中有关查询内聚合的部分,以获取对此处发生的情况的更深入的解释。
有关MySQL的快速解释,请查看COUNT
函数。