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());