尝试通过 Laravel 中的一对多关系输出文件名

Trying to output a filename through a one to many relationship in Laravel

我遇到错误

call to a member function documents() on boolean

因为我正在尝试获取卡片上传文档的文件名。我在 CardsCardDocuments 之间建立了关系:

Cards.php:

public function documents()
{
    return $this->hasMany(CardDocuments::class);
}

CardDocuments.php:

public function files()
{
    return $this->belongsTo(Card::class, 'card_id');
}

之后我在视图中使用了这个:

@foreach ($cards as $card)
    {{ $card->documents()->filename }}
@endforeach

以及 card_document 迁移:

Schema::create('card_documents', function (Blueprint $table) {
    $table->increments('id');
    $table->unsignedBigInteger('card_id')->unsigned()->index();
    $table->foreign('card_id')->references('id')->on('cards');
    $table->string('filename')->nullable();
    $table->timestamps();
});

不确定为什么会显示布尔错误,因为文件提交有效并且文件已成功保存到数据库所以无法理解为什么我无法访问 documents() 来获取文件名输出。

我认为文档是嵌套数组:

        @foreach ($cards as $card)
            @foreach ($card->documents as $document)
                {{ $document->filename }}
            @endforeach
        @endforeach