选择在laravel 5.2中具有相等值的行

时间:2016-09-22 14:36:58

标签: php laravel laravel-5.2

我是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    

伙计们,我很抱歉因为英语说得不好。

谢谢

4 个答案:

答案 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