Вызов функции-члена getClientOriginalExtension () при изменении массива,
$attachments->getClientOriginalExtension() to
$attachment->getClientOriginalExtension(),
это сохранит только одно вложение, потому что в вашей базе данных у вас есть один столбец, $notification->attachment
, поэтому после его зацикливания, он сохраняет только последнее значение цикла,
. Вы должны создать новую сводную таблицу, назвав ее уведомлением_attachment, и использовать красноречивое отношение , затем зациклить, чтобы сохранить вложения в новой таблице,
если у вас есть проблема с сохранением вложений в таблице привязок,
public function store(Request $request)
{
$notification=new Notification();
$notification->title = $request->input('title');
$notification->description = $request->input('description');
$notification->link = $request->input('link');
$notification->department = $request->input('department');
$notification->save();
if($request->hasfile('attachment')){
$attachments=$request->file('attachment');
foreach($attachments as $attachment)
{
$extension=$attachment->getClientOriginalExtension();
$attachmentsname=time().'.'.$extension;
$attachment->move('uploads/attachments/',$attachmentsname);
$notification->attachment = $attachmentsname;
$attachment = new attachments();
$attachment->notification_id = $notification->id,
$attachment->path = $attachmentsname,
}
}
return redirect('/notifications')->with('notifications',$notification);
}
ваш код должен выглядеть следующим образом, если у вас есть таблица вложений и модель.