Laravel 如何将(上传文件)添加到同一控制器、模型和路由的就绪表单中?-拉维尔8

Laravel 如何将(上传文件)添加到同一控制器、模型和路由的就绪表单中?-拉维尔8,laravel,forms,model,controller,upload,Laravel,Forms,Model,Controller,Upload,目前我正在Laravel 8中制作一个表单,这样我可以从用户那里获得信息,这样他们就可以参加比赛,表单已经准备好并链接到数据库 我的问题是: 我如何在表单中再添加一个字段,以便用户可以上载pdf、mp4等文件 表格如下: 单刀: <form action="Form-1" method="POST" class=""> @csrf <h1 style="font-family: 'Tajawal', sans

目前我正在Laravel 8中制作一个表单,这样我可以从用户那里获得信息,这样他们就可以参加比赛,表单已经准备好并链接到数据库

我的问题是:
我如何在表单中再添加一个字段,以便用户可以上载pdf、mp4等文件

表格如下:

单刀:

<form action="Form-1" method="POST" class="">
@csrf
<h1 style="font-family: 'Tajawal', sans-serif; color:#695e4a" class="text-center">
  نموذج التقديم
  للشركات
</h1>
<br>

<div class="wrap-input100 validate-input">
    <div class="text-center font-weight-bold">
    <label style="font-family: 'Tajawal', sans-serif; color:#695e4a" for="projectname1">اسم البرنامج / المشروع</label>
    </div>
    <input class="input100 text-center" type="text" name="projectname1">
    <span class="focus-input100"></span>
    <span class="symbol-input100">
    </span>
</div>

<div class="wrap-input100 validate-input">
  <div class="text-center font-weight-bold">
    <label style="font-family: 'Tajawal', sans-serif; color:#695e4a" for="projectname1">اسم المؤسسة</label>
    </div>
    <input class="input100 text-center" type="text" name="firmname1">
    <span class="focus-input100"></span>
    <span class="symbol-input100">
    </span>
</div>

<div class="wrap-input100 validate-input">
  <div class="text-center font-weight-bold">
    <label style="font-family: 'Tajawal', sans-serif; color:#695e4a" for="projectname1">التعريف بالمؤسسة</label>
    </div>
    <input class="input100 text-center" type="text" name="firmdec1">
    <span class="focus-input100"></span>
    <span class="symbol-input100">
    </span>
</div>

<div class="wrap-input100 validate-input">
  <div class="text-center font-weight-bold">
    <label style="font-family: 'Tajawal', sans-serif; color:#695e4a" for="projectname1">نوع المؤسسة</label>
    </div>
    <input class="input100 text-center" type="text" name="firmtype1">
    <span class="focus-input100"></span>
    <span class="symbol-input100">
    </span>
</div>

<div class="wrap-input100 validate-input">
  <div class="text-center font-weight-bold">
    <label style="font-family: 'Tajawal', sans-serif; color:#695e4a" for="projectname1">مبررات المشاركة في الجائزة</label>
    </div>
    <input class="input100 text-center" type="text" name="why1">
    <span class="focus-input100"></span>
    <span class="symbol-input100">
    </span>
</div>

<div class="wrap-input100 validate-input">
  <div class="text-center font-weight-bold">
    <label style="font-family: 'Tajawal', sans-serif; color:#695e4a" for="projectname1">الاسم الثلاثي لمسؤول الإتصال والتنسيق</label>
    </div>
    <input class="input100 text-center" type="text" name="fullname1">
    <span class="focus-input100"></span>
    <span class="symbol-input100">
    </span>
</div>

<div class="wrap-input100 validate-input">
  <div class="text-center font-weight-bold">
    <label style="font-family: 'Tajawal', sans-serif; color:#695e4a" for="projectname1">العنوان</label>
    </div>
    <input class="input100 text-center" type="text" name="address1">
    <span class="focus-input100"></span>
    <span class="symbol-input100">
    </span>
</div>

<div class="wrap-input100 validate-input">
  <div class="text-center font-weight-bold">
    <label style="font-family: 'Tajawal', sans-serif; color:#695e4a" for="projectname1">رقم الجوال</label>
    </div>
    <input class="input100 text-center" type="text" name="phone1">
    <span class="focus-input100"></span>
    <span class="symbol-input100">
    </span>
</div>

<div class="wrap-input100 validate-input">
  <div class="text-center font-weight-bold">
    <label style="font-family: 'Tajawal', sans-serif; color:#695e4a" for="projectname1">البريد الإلكتروني</label>
    </div>
    <input class="input100 text-center" type="email" name="email1">
    <span class="focus-input100"></span>
    <span class="symbol-input100">
    </span>
</div>

<div class="wrap-input100 validate-input">
  <div class="text-center font-weight-bold">
    <label style="font-family: 'Tajawal', sans-serif; color:#695e4a" for="projectname1">هل سبق لكم من قبل التقدم لجائزة ؟ نعم / لا</label>
    </div>
    <input class="input100 text-center" type="text" name="pb1">
    <span class="focus-input100"></span>
    <span class="symbol-input100">
    </span>
</div>

<div class="wrap-input100 validate-input">
  <div class="text-center font-weight-bold">
    <label style="font-family: 'Tajawal', sans-serif; color:#695e4a" for="projectname1"> هل سبق لكم من قبل الفوز بجائزة ؟ نعم / لا</label>
    </div>
    <input class="input100 text-center" type="text" name="wb1">
    <span class="focus-input100"></span>
    <span class="symbol-input100">
    </span>
</div>

<div class="wrap-input100 validate-input">
  <div class="text-center font-weight-bold">
    <label style="font-family: 'Tajawal', sans-serif; color:#695e4a" for="projectname1">كيف عرفت عن الجائزة</label>
    </div>
    <textarea class="input100 text-center" type="text" name="how1" style="height: 200px;"></textarea>
    <span class="focus-input100"></span>
    <span class="symbol-input100">
    </span>
</div>

<div class="wrap-input100 validate-input">
  <div style="font-family: 'Tajawal', sans-serif; color:#695e4a" class="text-center font-weight-bold"> الموافقة على الشروط وآلية التقديم
    <input type='checkbox' required>
    <span class="focus-input100"></span>
    <span class="symbol-input100">
    </span>
</div>
</div>

<div class="wrap-input100 validate-input">
  <div style="font-family: 'Tajawal', sans-serif; color:#695e4a" class="text-center font-weight-bold"> أشهد أن المعلومات المذكورة أعلاه صحيحة ومؤكدة
    <input type='checkbox' required>
    <span class="focus-input100"></span>
    <span class="symbol-input100">
    </span>
</div>
</div>





<div class="container-login100-form-btn">
    <button type="submit" style="font-family: 'Tajawal', sans-serif;" class="login100-form-btn">
      <br>
        <br>
        تقديم النموذج
        
    </button>
    
</div>



<br>
        <br>
3-型号:

class Enquiry1Model extends Model

use HasFactory;
public $table = "enquiry1";
四线:

Route::view('Form-1','enquiry1');
Route::post('Form-1',[Enquiry1Controller::class, 'addData']);

将输入字段作为文件类型添加,就像将此类内容添加到表单时通常所做的那样

<input type="file" name="file" />
接下来,需要将文件名添加到用户表中新列下的数据库中。因此,为您的Inquiry1模型创建一个新列名(例如file_name),然后您可以添加以下内容以将文件名存储在数据库中

// Get the name of the original file
$file_name = $req->file->getClientOriginalName();

// This will place the file directly in the 'public' directory with the original file name
$req->file->move('', $file_name);

// This will place the file in the public/images directory with the original file name
$req->file->move('images', $file_name);
$table->file_name = $file_name;

以上仅允许您为每个用户添加一个文件。如果您想让用户能够添加更多文件,则需要使用特定的表来存储每个用户的文件名,并在文件表中引用用户ID。

我编辑了路由,但它是错误的
$table->file_name = $file_name;