我是Laravel 5.2
例如,我的数据行如下:
mytable
-------------------------------
url | ip
-------------------------------
google.com | 11.44.180.149 <-----
msn.com | 11.44.180.149
google.com | 11.44.180.149 <-----
yahoo.com | 11.44.180.149
google.com | 11.44.180.149 <-----
我希望选择2或3列值相等的所有行,delete
行等于它不止一个
例如转换为:
mytable
-------------------------------
url | ip
-------------------------------
google.com | 11.44.180.149 <-----
msn.com | 11.44.180.149
yahoo.com | 11.44.180.149
伙计们,我很抱歉因为英语说得不好。
谢谢
答案 0 :(得分:1)
您可以在Eloquent中使用groupBy()
方法:
MyTable::groupBy('ip')->get();
或查询构建器:
DB::table('mytable')->groupBy('ip')->get();
答案 1 :(得分:0)
您需要先选择要检查的列,然后执行DISTINCT。
DB::table('mytable')->select('url','ip')->Distinct()->get();
这应该只包括每个匹配集中的一个。
答案 2 :(得分:0)
如果你试试这个,
$myTable = MyTable::groupBy('url', 'ip')
->get(['url', 'ip']);
或
$myTable = DB::table('mytable')->groupBy('url', 'ip')
->get(['url', 'ip']);
请检查此代码。
答案 3 :(得分:0)
尝试
to_replace