Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 不同于雄辩查询和phpmyadmin的持续时间_Mysql_Laravel_Eloquent - Fatal编程技术网

Mysql 不同于雄辩查询和phpmyadmin的持续时间

Mysql 不同于雄辩查询和phpmyadmin的持续时间,mysql,laravel,eloquent,Mysql,Laravel,Eloquent,我在Laravel 5.5中有一个应用程序。 我已安装此库,以便在我的应用程序上查看查询: 现在,在我的应用程序中,通过library,我可以看到我进行了一个大的查询,如: 选择values*,user\u valueuser\u id作为 pivot\u user\u id,user\u valuevalue\u idas pivot\u value\u idfromvaluesinternal joinuser\u valueon 值id=user\u valuevalue\u id其中 u

我在Laravel 5.5中有一个应用程序。 我已安装此库,以便在我的应用程序上查看查询:

现在,在我的应用程序中,通过library,我可以看到我进行了一个大的查询,如:

选择
values
*,
user\u value
user\u id
作为
pivot\u user\u id
user\u value
value\u id
as
pivot\u value\u id
from
values
internal join
user\u value
on
id
=
user\u value
value\u id
其中
user\u value
user\u id
位于('1','2','3','4','5','6','7',中, '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', ‘20’、‘21’、‘22’、‘23’、‘24’、‘25’、‘26’、‘27’、[……])和
处的
已删除\u为空

在那里[…]还有4000个id需要查找

奇怪的是,如果我在Phpmyadmin中复制并粘贴查询,查询需要0.0492秒,但在调试控制台中,我看到查询需要3.86秒。 所以这和持续时间不同,我不明白为什么。 有什么问题吗

我的应用程序查询与Elount一起进行,结果如下:

$users= User::with('values')->find($request->input('users'));

其中,
$request->input('users')
是ids数组。

问题似乎可能来自laravel正在执行的绑定,因为在调试栏中,似乎是相同的请求,但不是,一个在使用绑定,而另一个没有

我在这里有一个关于laravel框架的公开问题:

因此,在某些情况下,您可能需要执行以下操作:

  $users = User::find($request->input('users'));
  $values_per_user = Value::whereRaw("id in ('" . implode("','", $users->pluck('id')->toArray()) . "')")->get()->groupBy('user_id');
在您处于用户上下文中之后,您可以执行以下操作:

$values=$values\u每用户[$user->id]


不适用于任何地方(例如,如果您在自定义getter或函数中使用关系),但它可以满足简单的需求

问题可能来自于laravel正在执行的绑定,因为在调试栏中,似乎是相同的请求,但不是,一个在使用绑定,而另一个没有

我在这里有一个关于laravel框架的公开问题:

因此,在某些情况下,您可能需要执行以下操作:

  $users = User::find($request->input('users'));
  $values_per_user = Value::whereRaw("id in ('" . implode("','", $users->pluck('id')->toArray()) . "')")->get()->groupBy('user_id');
在您处于用户上下文中之后,您可以执行以下操作:

$values=$values\u每用户[$user->id]

不适用于任何地方(比如在自定义getter或函数中使用关系),但它可以满足简单的需要