1. ホーム
  2. laravel

[解決済み] Laravel Eloquent - distinct() と count() が正しく動作しない。

2022-08-24 10:57:27

質問

クエリでdistinct pidの数を取得しようとしているのですが、返される値が間違っています。

これは私がしようとしていることです。

$ad->getcodes()->groupby('pid')->distinct()->count()

という名前のファイルがありますが、これは "2" という値を返しますが、本来は "1" という値を返さなければなりません。

回避策として、私はこうしています。

count($ad->getcodes()->groupby('pid')->distinct()->get())

というのは、正常に動作して "1" を返します。

count と distinct が同じクエリに存在してはいけないというルールはありますか?私はこの回避策を見つけると、"重い"、元のクエリを動作させたいのです :(

どのように解決するのですか?

以下のようにするとうまくいくはずです。

$ad->getcodes()->distinct()->count('pid');