Php 插入集合以保存许多有说服力的

Php 插入集合以保存许多有说服力的,php,laravel,eloquent,laravel-5,Php,Laravel,Eloquent,Laravel 5,我有一个充满模型的集合,如何将这些模型放入关系的saveMany方法中?我知道它一定是一个数组,但当我做$collection->toArray()时,它们就不再是有说服力的模型了 public function uploadAndGetModels($messageId, array $attachments) { $models = new Collection(); $attachments = new Collection($attachments); $atta

我有一个充满模型的集合,如何将这些模型放入关系的
saveMany
方法中?我知道它一定是一个数组,但当我做
$collection->toArray()
时,它们就不再是有说服力的模型了

public function uploadAndGetModels($messageId, array $attachments)
{
    $models = new Collection();
    $attachments = new Collection($attachments);
    $attachments->each(function (UploadedFile $attachment) use ($messageId, $models) {
        $identifier = $this->uploader->makeIdentifier($attachment->getClientOriginalExtension());
        $this->uploader->uploadImage($attachment, "attachments/{$identifier}");
        $model = new Attachment(array('message_id' => $messageId, 'path' => $identifier));
        $models->push($model);
    });

    return $models;
}
$models
的结果是一个
集合
充满了
附件
模型

if ($request->hasFile('attachments')) {
    $attachments = $attachmentRepository->uploadAndGetModels($message->id, $request->file('attachments'));
    $message->attachments()->saveMany($attachments);
}

如何解决这个问题?

集合类有一个
all()
方法,该方法将集合中的所有项作为模型数组返回

考虑到这一点,这应该是可行的

$message->attachments()->saveMany($attachments->all());