嗨,我有拉威尔项目,我有这个模型
User_attendance
User
我内心有这种关系 User
```
public function getAttendance()
{
return $this->hasMany('App\User_attendance','user_attendance_user_id','id');
}
现在有重复的数据在用户界面上,就像这样
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-27 17:45:48
9238<><> 2018-11-28 17:35:00
9238<><> 2018-11-29 17:44:34
9238<><> 2018-12-08 17:18:12
9238<><> 2018-12-08 17:18:12
现在 `9238<><> 2018-11-27 17:45:48` 有12个记录我怎么能在laravel或mysql内部运行查询删除11个记录,只留下1个我做了这个
$users = User::limit(30)->get();
foreach($users as $u)
{
foreach($u->getAttendance as $attendance)
{
echo $attendance->user_attendance_user_id . "<><> ".$attendance->created_at ."";
}
}
我想删除重复数据,只留下一个记录。谢谢
4条答案
按热度按时间c90pui9n1#
试试这个
2ledvvac2#
如果您想删除数据库中的记录,可以执行如下mysql查询
这将从表中删除重复项。如果新行是唯一的,您可能希望确保只插入新行,因此请在代码中进行检查(并在数据库中使user id和time的列组合唯一(即唯一索引))
xt0899hw3#
使用双重分组,例如:
wlsrxk514#
使用distinct或group by关键字
例子:
选择distinct(列)、column1、column2,。。。从表名称;
按用户考勤用户id从用户考勤组中选择*创建于;