你数据库中设计的表主键为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); }
否则会返回给你一条无效数据
上一任开发留下的隐患,