首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发送多个文件,laravel通知

发送多个文件,laravel通知
EN

Stack Overflow用户
提问于 2022-04-20 11:33:07
回答 1查看 90关注 0票数 0

我想使用laravel通知将多个附件发送给用户,我现在可以发送一个文件,但我的方式不是动态方式,我试图使用foreach发送文件,但它只发送了第一个文件。

===========================

blade.php

代码语言:javascript
复制
<div class="col-sm-12 col-md-12">
   <input type="file" name="files[]" class="dropify" accept=".pdf,.jpg, .png, image/jpeg, image/png"
                                 />
 </div><br>
    
  <div class="col-sm-12 col-md-12">
      <input type="file" name="files[]" class="dropify" accept=".pdf,.jpg, .png, image/jpeg, image/png"
                               />
  </div>
  <div class="col-sm-12 col-md-12">
      <input type="file" name="files[]" class="dropify" accept=".pdf,.jpg, .png, image/jpeg, image/png"
                               />
   </div>

控制器

代码语言:javascript
复制
 if ($request->hasfile('files')) {
    foreach ($request->file('files') as $file) {
        $name = $file->getClientOriginalName();
        $file->move(public_path('Attachments/' .), $name);
        $data[] = $name;
        $attachments = new TaskAttachment();
        $attachments->file_name = $name;
        $attachments->save();
    }
    //to send email
    Notification::route('mail', $engineer_email)
        ->notify(new AddTaskWithAttachments($data));
}

AddTaskWithAttachments.php静态方法

代码语言:javascript
复制
public function toMail($notifiable)
{
    return (new MailMessage)
    ->subject(" new task")
    ->action('link', $url)
    ->attach(public_path('Attachments/'.$this->files[0]));
 }

带着

代码语言:javascript
复制
foreach($this->files as $file){
    return (new MailMessage)
        ->subject(" new task")
        ->action('link', $url)
        ->attach(public_path('Attachments/'.$file));
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-20 11:59:27

foreach中的返回可以防止多次执行。你可以试一试,但我不确定它是否有效,也找不到文档:

代码语言:javascript
复制
$mailmessage = (new MailMessage)
        ->subject(" new task")
        ->action('link', $url);

foreach($this->files as $file){
    $mailmessage->attach(public_path('Attachments/'.$file));
}

return $mailmessage;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71938901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档