无法在yii中获取追随者新闻提要的活动?

m2xkgtsf  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(327)

我有两张table

Activity  

   ID | user_type    | user_id | status  
    1 | PROFESSIONAL | 15      | Hello    
    2 | VENDOR       | 15      | Hi    
    3 | PROFESSIONAL | 16      | My status    
    4 | PROFESSIONAL | 18      | Abcd    

Followers

    ID  | user_type    | user_id | follower_type | follower_id  
    1   | PROFESSIONAL | 15      | PROFESSIONAL  | 16    
    2   | VENDOR       | 15      | PROFESSIONAL  | 16    
    3   | PROFESSIONAL | 20      | PROFESSIONAL  | 17

我想为你安排所有的活动 PROFESSIONAL id 16 以及所有用户的活动 PROFESSIONAL id 16 正在跟踪。
所以我得到的结果应该是-

Activity  

    ID | user_type    | user_id | status  
    1  | PROFESSIONAL | 15      | Hello    
    2  | VENDOR       | 15      | Hi    
    3  | PROFESSIONAL | 16      | My status

我不知道怎样才能在一个查询中得到它。另外,我正在使用yii1.1。所以我想用yii模型获取记录。在构建mysql查询或使用yii cactiverecord获得所需结果方面的任何帮助都是很好的。

fcy6dtqo

fcy6dtqo1#

好 啊。所以现在,我是这样做的

$criteria = new CDbCriteria;    
$criteria->select = 't.*';    
$criteria->join = 'LEFT JOIN followers AS f ON (t.user_id = f.user_id AND t.user_type = f.user_type)     
WHERE (f.follower_id='.$user_id.' AND f.follower_type = "'.$user_type.'")    
OR (t.user_id='.$user_id.' AND t.user_type = "'.$user_type.'")';

我很想知道是否有更好的解决方案可用。

相关问题