从相关模型中获取DISTINCT值

时间:2014-09-01 08:51:01

标签: php yii

我有2个型号。 UsersIpsUsers关系:

return array(
    'ips' => [self::HAS_MANY, 'Ips', ['user_id' => 'id']]
);

Ips模型包含字段id, user_id, ip

我需要使用其唯一的Users获取所有Ips

$users = $model->with(['ips' => [
    'select' => 'ip', 
    'distinct' => true
]])->findAll();

不按我需要的方式工作。可能它在字段id中变得独一无二。

感谢您的回复!

2 个答案:

答案 0 :(得分:0)

尝试定义你的关系:

return array( 'ips' => [self::HAS_MANY, 'Ips', 'user_id'] );

答案 1 :(得分:0)

您可能想尝试GROUP BY

$users = User::model()->with(array(
    'ips'=>array(
        'group'=>'user_id, ip',
    )
))->findAll();

希望有所帮助