Я новичок в разработке и работаю над школьным ERP на Laravel.у меня есть таблица facultybatches, в которой есть следующие столбцы:
id, subject, facultyId, startAt, endAt, batchStatus, примечание, batchTime
эта таблица состоит из данных о факультетах и пакетах, которые онибудет принимать, теперь мне нужно убедиться, что один и тот же учитель не принимает другую партию в одно и то же время, если время одинаковое, у него должны быть разные даты начала и окончания.
Какой способ наиболее подходящий?делать это.
Мой контроллер ;
<?php
namespace App\Http\Controllers;
use Illuminate\Validation\Validator;
use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use Session;
class FacultyBatchController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
// $faculties = DB::table('facultybatches')->get();
$faculties = DB::table('facultybatches')
->join('faculty','facultybatches.facultyId' , '=' ,'faculty.facultyId')
->join('course','facultybatches.subject' , '=' ,'course.id')
->select('faculty.name','facultybatches.*','course.name AS course_name')->get();
// return $some;
return view('services.viewfacultybatch',compact('faculties'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
$courses = DB::select('select id,name from course');
$faculties = DB::select('select facultyId,name from faculty');
return view('services.addfacultybatch',compact('faculties','courses'));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
if($request->isMethod('POST')){
$this->validate($request,[
'facultyId' => 'required',
'subjectname' => 'required',
'startdate' => 'required',
'enddate' => 'required',
'batchStatus' => 'required',
'remark' => 'required',
'batchTime' => 'required'
]);
// WHAT SHOULD I WRITE HERE
return redirect()->route('facultybatch.index');
}
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$batch = DB::table('facultybatches')->where('id', $id)->first();
$courses = DB::select('select id,name from course');
$faculties = DB::select('select facultyId,name from faculty');
return view('services.editfacultybatch',compact('faculties','courses','batch'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
if($request->isMethod('PUT')){
$this->validate($request,[
'facultyId' => 'required',
'subjectname' => 'required',
'startdate' => 'required',
'enddate' => 'required',
'batchStatus' => 'required',
'remark' => 'required',
'batchTime' => 'required'
]);
DB::table('facultybatches')->where('id',$id)->update(
['facultyId' => $request->facultyId,'subject' => $request->subjectname,'starAt' => $request->startdate,'endAt' => $request->enddate,'batchStatus' => $request->batchStatus,'remark' => $request->remark,'batchTime' => $request->batchTime] );
return redirect()->route('facultybatch.index');
}
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
DB::delete('DELETE FROM facultybatches
WHERE id = ?',[$id]);
return redirect()->route('facultybatch.index');
}
public function facultybatchss(Request $request){
$ids = $request->fb;
DB::table("facultybatches")->whereIn('id',explode(",",$ids))->delete();
}
}