繁体   English   中英

如何使用 elequent 模型从 laravel 表中获取不同的记录?

[英]How I can get distinct records from laravel table using elequent model?

我必须根据实体 ID 获取不同的记录。 我试过这个,但它不起作用

User::where('id',$id)->with(['userRoleEntity' => function($q) { $q->distinct('entityId'); }])->first();

我应该在用户实体数组中得到两条记录,但得到 3 条记录。我该如何解决这个问题? 提前致谢

正方形中的值不应该存在https://prnt.sc/qkamdi

distinct方法不支持传递参数,需要选择一个字段并distinct

User::where('id',$id)->
    with(['userRoleEntity' => function($q) { 
      $q->select('entityId')->distinct(); 
}])->first();

或者

试试这个:

User::where('id',$id)->
    with(['userRoleEntity' => function($q) { 
      $q->groupBy('entityId'); 
}])->first();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM