Если решили работать с references в DoctrineFixtures, то обязательно нужно учитывать зависимости между фикстурами. В данном случае, и вообще в принципе, неизвестно в каком порядке нужно создавать фикстуры статьей и авторов, чтоб можно было статье присвоить уже созданного автора. И этот порядок надо явно указать в классе фикстуры, реализовав метод getDependencies интерфейса DependentFixtureInterface (из пакета Doctrine).
Так как только статья зависит от автора, то достаточно это указать в фикстуре статьи, например:
class ArticleFixture implements DependentFixtureInterface
{
// ...
public function getDependencies()
{
return [
UserFixture::class,
];
}
}
И теперь сначала будет создан пользователь, а потом статья и можно быть уверенным, что пользователь не будет null при $author = $this->getReference('main_user');