Yii 如何检查来自db的数组中是否有经过身份验证的用户

Yii 如何检查来自db的数组中是否有经过身份验证的用户,yii,Yii,在我的数据库中,我有一个项目表 project id | title | users | 1 | First | 1,2,3 | 2 | Second| 2,6 | 如何检查用户字段中包含的Yii::app()->user->id?我想检查,如果true则在gridview中显示行 我必须使用哪一个$criteria?使用LIKE查询来检查用户id是否存在于用户列中 $user = Yii::app()->user->id; $result = Yii::a

在我的数据库中,我有一个项目表

  project
  id | title | users |
  1  | First | 1,2,3 |
  2  | Second| 2,6   |
如何检查用户字段中包含的Yii::app()->user->id?我想检查,如果
true
则在gridview中显示行


我必须使用哪一个$criteria?

使用
LIKE
查询来检查
用户id是否存在于
用户列中

$user = Yii::app()->user->id;
$result = Yii::app()->db->createCommand('SELECT * FROM project WHERE users  LIKE "%'.$user.'%"')->queryAll();
if(count($result)){
    //Your other scripts to show in grid view
}
如果您有一个
项目
模型
,那么您还可以使用:

$user = Yii::app()->user->id;
$criteria = new CDbCriteria;
$criteria->select = '*';
$criteria->compare('t.users', $user, true);
$results = Project::model()->findAll($criteria);

检查并确认。这有帮助吗?像这样构建查询是不安全的,因为它会增加SQL注入的可能性。我使用Yii的经验是,我几乎不需要使用普通的老SQL查询,因为大多数查询都可以通过CActiveRecord方法和其他可用(而且更安全)的数据库类来完成。另请参见:$q=新CDbCriteria()$q->addSearchCondition('content',$userId)$projects=Project::model()->findAll($q);