Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.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
Php 尝试从Laravel中的MySQL获取标记值_Php_Sql_Laravel - Fatal编程技术网

Php 尝试从Laravel中的MySQL获取标记值

Php 尝试从Laravel中的MySQL获取标记值,php,sql,laravel,Php,Sql,Laravel,我有一项任务,我需要从Laravel的数据库中选择所有驱动程序,并以绿色突出显示可用的驱动程序。这是我得到的错误: SQLSTATE[23000]:完整性约束冲突:字段列表中的1052列“用户\u id”不明确SQL:从用户中选择第一个\u名称、用户\u id作为u内部用户按u.users\u id加入用户\u车辆组 数据库表结构: 以下是我目前的代码: UserModel.php admin.blade.php 您在users、users\u vehicles中都有名为user\u id的

我有一项任务,我需要从Laravel的数据库中选择所有驱动程序,并以绿色突出显示可用的驱动程序。这是我得到的错误:

SQLSTATE[23000]:完整性约束冲突:字段列表中的1052列“用户\u id”不明确SQL:从用户中选择第一个\u名称、用户\u id作为u内部用户按u.users\u id加入用户\u车辆组

数据库表结构:

以下是我目前的代码:

UserModel.php

admin.blade.php


您在users、users\u vehicles中都有名为user\u id的列

只要加上你。在选择字段中的用户id之前

 $query=DB::SELECT("SELECT first_name,u.user_id FROM users as u inner join users_vehicles group by u.first_name,u.last_name");
但我不建议使用没有聚合的group by,您可以使用:


您在users、users\u vehicles中都有名为user\u id的列

只要加上你。在选择字段中的用户id之前

 $query=DB::SELECT("SELECT first_name,u.user_id FROM users as u inner join users_vehicles group by u.first_name,u.last_name");
但我不建议使用没有聚合的group by,您可以使用:


我想您需要将查询更改为:

SELECT u.first_name, u.user_id 
FROM users as u 
INNER JOIN users_vehicles USING (user_id)
GROUP BY u.first_name, u.user_id
然而,若您只需要拥有车辆的用户的姓名,最好使用如下查询:

SELECT u.first_name, u.user_id
FROM users as u
WHERE EXISTS (SELECT * FROM users_vehicles uv WHERE uv.user_id = u.user_id)

检查以查看联接与存在的比较

我想您需要将查询更改为以下内容:

SELECT u.first_name, u.user_id 
FROM users as u 
INNER JOIN users_vehicles USING (user_id)
GROUP BY u.first_name, u.user_id
然而,若您只需要拥有车辆的用户的姓名,最好使用如下查询:

SELECT u.first_name, u.user_id
FROM users as u
WHERE EXISTS (SELECT * FROM users_vehicles uv WHERE uv.user_id = u.user_id)

检查以查看连接与存在的比较

错误说明了一切:用户id不明确,因为它既存在于用户表中,也存在于用户车辆表中。您应该选择要选择的用户id。这是否回答了您的问题?我现在得到这个错误:语法错误或访问冲突:SELECT列表的1055表达式2不在GROUP BY子句中,并且包含未聚合的列“phpfinal.u.user_id”,它在功能上不依赖GROUP BY子句中的列;这与sql_mode=only_full_group_by sql不兼容:选择first_name,u.user_id FROM users as u internal join users_vehicles group by u.first_name错误说明了一切:user_id不明确,因为它存在于users表和users_vehicles表中。您应该选择要选择的用户id。这是否回答了您的问题?我现在得到这个错误:语法错误或访问冲突:SELECT列表的1055表达式2不在GROUP BY子句中,并且包含未聚合的列“phpfinal.u.user_id”,它在功能上不依赖GROUP BY子句中的列;这与sql_mode=仅_full_group_by sql不兼容:选择first_name,u、 用户的用户id作为内部用户通过u.first\u名称加入用户车辆组我现在得到此错误:语法错误或访问冲突:选择列表的1055表达式2不在group by子句中,并且包含未聚合的列“phpfinal.u.user\u id”,该列在功能上不依赖group by子句中的列;这与sql_mode=仅_full_group_by sql不兼容:选择first_name,u、 用户的用户id作为内部用户通过u.first\u名称加入用户车辆组我现在得到此错误:语法错误或访问冲突:选择列表的1055表达式2不在group by子句中,并且包含未聚合的列“phpfinal.u.user\u id”,该列在功能上不依赖group by子句中的列;这与sql_mode=仅_full_group_by sql不兼容:选择first_name,u.user_id FROM users as u internal join users_vehicles group by u.first_name