1

私はYiiで作業しており、次の名前のテーブルがあります:訪問

「user」テーブルにリンクされている from_user_id と to_user_id の 2 つの外部キーがあります。現在、テーブルの訪問には同じ「from_user_id」が多数あり、Yii でそれらを DISCTINCT として取得したいと考えています。

これは私のコードです:

$visited = Visit::model()->findAllByAttributes(array('to_user_id'=>Yii::app()->user->id));

$criteria = new CDbCriteria();
$criteria->distinct = true;

foreach($visited as $visits){

    echo User::model()->findByPk($visits->from_user_id,$criteria)->getFullName($visits->from_user_id);

   echo " <br>";
}

ただし、それらを区別することはできません。

これは私の出力です:

san
san
san
Leo
Leo

出力を次のようにします。

San
Leo

これは私に明確な価値を与えていません。どこが間違っていますか??

4

1 に答える 1

1

私はそれをテストできませんでしたが、マイナーな構文調整の可能性は別として、これはあなたを助けるはずです:

$visited = Visit::model()->findAllByAttributes(
    array('to_user_id'=>Yii::app()->user->id),
    array('distinct' => True)
);

ドキュメントによると、条件または基準パラメーターを 2 番目の引数としてfindAllByAttribute受け入れます。

これが配列の場合 ( のドキュメントによると)、リクエストのさまざまな基準プロパティfind()を初期化するのに役立ちます。

于 2013-08-03T10:53:18.247 に答える