2014-01-26 69 views

回答

39

在Yii2您可以添加exists()到您的查询链:

User::find() 
    ->where([ 'id' => 1 ]) 
    ->exists(); 

(生成的SQL是这样的:SELECT 1 FROM `tbl_user` WHERE `id`=1

这里也是Query->exists()取自the Yii2 source.

/** 
    * Returns a value indicating whether the query result contains any row of data. 
    * @param Connection $db the database connection used to generate the SQL statement. 
    * If this parameter is not given, the `db` application component will be used. 
    * @return boolean whether the query result contains any row of data. 
    */ 
    public function exists($db = null) 
    { 
      $select = $this->select; 
      $this->select = [new Expression('1')]; 
      $command = $this->createCommand($db); 
      $this->select = $select; 
      return $command->queryScalar() !== false; 
    } 
相关问题