laravel MySQL查询优化


laravel MySQL query optimization

我的应用程序中有以下sql查询。

$defaultGoal = DB::table("goals")
-> where("activitiesID", "=", $this->activityID)
-> where("usersID", "=", $userID)
-> pluck("goal");
$defaultGoalPoints = DB::table("goals")
-> where("activitiesID", "=", $this->activityID)
-> where("usersID", "=", $userID)
-> pluck("goalpoints");
$defaultPoints = DB::table("goals")
-> where("activitiesID", "=", $this->activityID)
-> where("usersID", "=", $userID)
-> pluck("points");

每个查询都返回一个数组。有没有一种方法可以将所有这些查询合并为一个查询,从而为$defaultPoints$defaultGoalPoints$defaultGoal返回相同的数组。

您可以使用select只获得您需要的东西:

$defaults = DB::table("goals")
->select('goal', 'goalpoints', 'points')
->where("activitiesID", "=", $this->activityID)
->where("usersID", "=", $userID)
->get();

希望它能帮助。。。