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