Open sukobuto opened 10 years ago
「何を以って重複とするか」を指定できると便利だな、という場面がありました。 例えば「ある親IDに属するメンバーからひとつのみ選択」という条件を適用する場合
$picked_parent_ids = []; Ginq::from($members) ->where(function(Members $m) use (&$picked_parent_ids) { if (!in_array($m->parent_id, $picked_parent_ids)) { $picked_parent_ids[] = $m->parent_id; return true; } else { return false; } })
のようにフィルタリングする必要がありますが、これを以下のように表現できるとスッキリします。
Ginq::from($members) ->distinctBy('parent_id');
:+1:
「何を以って重複とするか」を指定できると便利だな、という場面がありました。 例えば「ある親IDに属するメンバーからひとつのみ選択」という条件を適用する場合
のようにフィルタリングする必要がありますが、これを以下のように表現できるとスッキリします。