yii2中findOne的用法

你数据库中设计的表主键为id的时候才可以使用findOne($id)去查询信息

否则你需要通过find()进行查看或者通过hasOne()


分析:

BaseActiveRecord.php文件中

一、

public static function findOne($condition)
{
    return static::findByCondition($condition)->one();
}
二、

protected static function findByCondition($condition)
{
    $query = static::find();

    if (!ArrayHelper::isAssociative($condition)) {
        // query by primary key
        $primaryKey = static::primaryKey();
        if (isset($primaryKey[0])) {
            $condition = [$primaryKey[0] => $condition];
        } else {
            throw new InvalidConfigException('"' . get_called_class() . '" must have a primary key.');
        }
    }

    return $query->andWhere($condition);
}


否则会返回给你一条无效数据


上一任开发留下的隐患,

你可能感兴趣的:(yii2,php)