Php 是否可以获取城市集合,但排除任何重复?

Php 是否可以获取城市集合,但排除任何重复?,php,laravel,eloquent,Php,Laravel,Eloquent,下面是关于这个问题的一点信息——我目前正在使用谷歌地图创建一个小应用程序,人们在其中有一个包含谷歌地图的个人资料页面。他们可以在地图上放置标记,这些标记的城市、国家、纬度和经度都会保存在数据库中 现在我想创建一个已标记城市的列表,但是,如果用户在某个城市中创建2个标记,则该城市的名称将显示两次,这是不需要的行为。这就是为什么我想知道是否可以从我的收藏中排除重复记录,例如,如果我有以下内容: 数据库记录: id city country lat lng 1 Lond

下面是关于这个问题的一点信息——我目前正在使用谷歌地图创建一个小应用程序,人们在其中有一个包含谷歌地图的个人资料页面。他们可以在地图上放置标记,这些标记的城市、国家、纬度和经度都会保存在数据库中

现在我想创建一个已标记城市的列表,但是,如果用户在某个城市中创建2个标记,则该城市的名称将显示两次,这是不需要的行为。这就是为什么我想知道是否可以从我的收藏中排除重复记录,例如,如果我有以下内容:

数据库记录:

id    city    country    lat    lng
1     London  UK         1      1
2     London  UK         1      1
3     Tokyo   Japan      2      2
是否可以基于城市只返回两条记录,第一条和第三条,而不包括第二条,因为它是重复的

我现在看到的城市是这样的:

$cities = Marker::where('user_id', $userId)->get();

Table: Markers
Columns: id, city, country, place_id, user_id, lat, lng, created_at, updated_at
你能试试分组吗


$cities=Marker::where('user_id',$userId)->groupBy('city')->get()

尝试按城市名称分组$cities=Marker::where('user_id',$userId)->groupBy('city')->get();你应该修改它看起来的表格结构。你可以使(城市,国家)独一无二吗?我仍然希望用户能够在某个城市放置超过1个标记。让城市和国家变得独一无二难道不可能吗?是的,在这种情况下,它不会再登记更多的记录。同意。获取语法错误或访问冲突:1055“spa_api.markers.id”不在GROUP BY(SQL:select*from markers where user_id=1 GROUP BY city)错误更改您的/config/database.php文件,mysql数组中的
'strict'=>false
我可以问一下这有什么作用?在GROUP BY查询正常工作且未给出冲突错误后更改。