在代码下面制作输入表单。
<!--Form for lecturer-->
@if (Auth::user() && Auth::user()->role == 'lecturer')
<form action="/registerLecturerPersonalData" method="POST" enctype="multipart/form-data">
{{csrf_field()}}
@if (session('status'))
<div class="alert alert-success">
<strong>{{ session('status') }}</strong>
</div>
@endif
<div class="personal-form">
<div class="personal-margin-row row">
<label class="col-sm-2 personal-margin-label">Lecturer ID</label>
<div class="col-sm-8">
<input type="text" class="form-control" name="lecid" id="lectid">
</div>
</div>
<div class="personal-margin-row row">
<label class="col-sm-2 personal-margin-label">Faculty Lecturing</label>
<div class="col-sm-8">
<select name="facultylecturing" id="facultylecturing" class="col-sm-12 form-control">
<option selected disabled>Choose...</option>
<option value="FITE">Faculty of Informatics and Electrical Engineering</option>
<option value="FTI">Faculty of Industrial Engineering</option>
<option value="FTB">Faculty of Biotechnology</option>
</select>
</div>
</div>
<div class="personal-margin-row row">
<label class="col-sm-2 personal-margin-label">Major Lecturing</label>
<div class="col-sm-8">
<select name="majorlecturing" id="majorlecturing" class="col-sm-12 form-control">
<option selected disabled>Choose...</option>
<option value="Informatics Engineering">Informatics Engineering</option>
<option value="Information System">Information System</option>
<option value="Electrical Engineering">Electrical Engineering</option>
<option value="Engineering Management">Engineering Management</option>
<option value="Bioprocess Engineering">Bioprocess Engineering</option>
<option value="Information System">Information System</option>
</select>
</div>
</div>
<div class="personal-margin-row row">
<label class="col-sm-2 personal-margin-label">Bachelor Campus</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="bachelorcampus" name="bachelorcampus">
</div>
</div>
<div class="personal-margin-row row">
<label class="col-sm-2 personal-margin-label">Master Campus</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="mastercampus" name="mastercampus">
</div>
</div>
<div class="personal-margin-row row">
<label class="col-sm-2 personal-margin-label">Phd Campus</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="phdcampus" name="phdcampus">
</div>
</div>
<div class="personal-margin-row row">
<label class="col-sm-2 personal-margin-label">Interest Field</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="interest" name="interest">
</div>
</div>
<div class="personal-margin-row row">
<label class="col-sm-2 personal-margin-label">Date Start</label>
<div class="col-sm-8">
<input type="date" class="form-control" id="datestart" name="datestart">
</div>
</div>
<div class="personal-margin-row row">
<label class="col-sm-2 personal-margin-label">Gender</label>
<div class="col-sm-8">
<select id="gender" name="gender" class="col-sm-4 form-control">
<option selected disabled>Choose...</option>
<option value="laki-laki">Male</option>
<option value="perempuan">Female</option>
</select>
</div>
</div>
<div class="personal-margin-row row">
<label class="col-sm-2 personal-margin-label">Place of birth</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="placeofbirth" name="placeofbirth">
</div>
</div>
<div class="personal-margin-row row">
<label class="col-sm-2 personal-margin-label">Date of Birth</label>
<div class="col-sm-8">
<input type="date" class="form-control" id="dateofbirth" name="dateofbirth">
</div>
</div>
<div class="personal-margin-row row">
<label class="col-sm-2 personal-margin-label">Address</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="address" name="address">
</div>
</div>
<div class="personal-margin-row row">
<label class="col-sm-2 personal-margin-label">Phone Number</label>
<div class="col-sm-8">
<input type="tel" class="form-control" id="phonenumber" name="phonenumber" pattern="[0-9]{4}-[0-9]{4}-[0-9]{4}" placeholder="ex : 0888-9899-7877">
</div>
</div>
<div class="personal-margin-row row">
<label class="col-sm-2 personal-margin-label">Photo</label>
<div class="col-sm-8">
<div class="custom-file">
<input type="file" class="form-control custom-file-input" id="customFile" name="photo">
<label class="custom-file-label" for="customFile">Choose file</label>
</div>
</div>
</div>
</div>
<div class="submit-container container">
<input type="submit" placeholder="submit" class="btn btn-info" name="submit" id="submit" style="width: 100px;">
</div>
</form>
@endif
在模型下面,我曾经在这部分定义了每一个元组,所以很容易处理
class lecturer_model extends Model
{
protected $table = 'lecturer_data';
public $timestamps = true;
protected $fillable = [
'lecturer_id','id_user_lec','faculty_lecturing','major_lecturing','bachelor_campus','master_campus','phd_major',
'interest_field','start_date','gender','place_of_birth','date_of_birth','address','phone_number','profile_image'
];
}
在控制器下方,包含用于存储数据的规则和异常处理
public function storeLecturerPersonalData(Request $request){
$rules = [
'lectid' => 'required|min:2|max:10',
'facultylec' => 'required|max:255',
'majorlec' => 'required|max:255',
'bachelorcamp' => 'required|max:255',
'mastercamp' => 'required|max:255',
'phdcamp' => 'required|max:255',
'startdate' => 'required',
'interest' => 'required|max:255',
'gender' => 'required|max:255',
'placeofbirth' => 'required|max:255',
'dateofbirth' => 'required',
'phonenumber' => 'required',
'address' => 'required|min:2|max:255',
'photo' => 'required|mimes:jpeg,jpg,png,gif,svg'
];
$validator = Validator::make($request->all(),$rules);
if ($validator->fails()) {
return redirect('/home')
->withInput()
->withErrors($validator);
}
else{
$request_input = $request->input();
$photoName = $request->photo->getClientOriginalName() . '-lecturer-' . time()
. '.' . $request->photo->extension();
$request->photo->move(public_path('user_image'),$photoName);
try{
$data = new lecturer_model;
$data->lecturer_id = $request_input['lectid'];
$data->id_user_lec = Auth::user()->id;
$data->faculty_lecturing = $request_input['facultylec'];
$data->major_lecturing = $request_input['majorlec'];
$data->bachelor_campus = $request_input['bachelorcamp'];
$data->master_campus = $request_input['mastercamp'];
$data->phd_major = $request_input['phdcamp'];
$data->interest_field = $request_input['startdate'];
$data->start_date = $request_input['interest'];
$data->gender = $request_input['gender'];
$data->place_of_birth =$request_input['placeofbirth'];
$data->date_of_birth = $request_input['dateofbirth'];
$data->address = $request_input['address'];
$data->phone_number = $request_input['phonenumber'];
$data->profile_image = $photoName;
return redirect('/home')->with('status',"Insert successfully");
}
catch(Exception $e){
return redirect('/home')->with('failed',"operation failed");
}
}
}
最后一个是 web.php,这个文件定义了你的 web 界面的路由。这些路由被分配到 web 中间件组,它提供了会话状态和 CSRF 保护等功能
Route::post('/registerLecturerPersonalData', 'personalDataController@storeLecturerPersonalData');
答案 0 :(得分:1)
您应该在创建对象后调用 save()
方法将其存储到数据库中。
像这样:$data->save();
所以你可以:
$data = new lecturer_model;
$data->lecturer_id = $request_input['lectid'];
$data->id_user_lec = Auth::user()->id;
$data->faculty_lecturing = $request_input['facultylec'];
$data->major_lecturing = $request_input['majorlec'];
$data->bachelor_campus = $request_input['bachelorcamp'];
$data->master_campus = $request_input['mastercamp'];
$data->phd_major = $request_input['phdcamp'];
$data->interest_field = $request_input['startdate'];
$data->start_date = $request_input['interest'];
$data->gender = $request_input['gender'];
$data->place_of_birth =$request_input['placeofbirth'];
$data->date_of_birth = $request_input['dateofbirth'];
$data->address = $request_input['address'];
$data->phone_number = $request_input['phonenumber'];
$data->profile_image = $photoName;
$data->save();
return redirect('/home')->with('status',"Insert successfully");
请注意,建议类名的第一个字符使用大写字母。而且最好使用 CamelCase 而不是snack_case
喜欢:
class Lecturer extends Model