public function init()
{
parent::init();
$this->alias('c');
$this->select(['last_message_id' => new Expression('MAX([[id]])'), 'contact_id' => new Expression('IF([[sender_id]] = :userId, [[receiver_id]], [[sender_id]])')])->andWhere(['or', ['receiver_id' => new Expression(':userId'), 'is_deleted_by_receiver' => false], ['sender_id' => new Expression(':userId'), 'is_deleted_by_sender' => false]])->groupBy(['contact_id']);
}