【发布时间】:2015-04-24 18:46:59
【问题描述】:
我有一个包含模型的集合,我如何将它们放入关系的saveMany 方法中?我知道它一定是一个数组,但是当我这样做 $collection->toArray() 时,它们不再是 Eloquent 模型了。
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 的结果是一个充满Attachment 模型的Collection。
if ($request->hasFile('attachments')) {
$attachments = $attachmentRepository->uploadAndGetModels($message->id, $request->file('attachments'));
$message->attachments()->saveMany($attachments);
}
我该如何解决这个问题?
【问题讨论】:
标签: php laravel eloquent laravel-5