Сейчас я работаю над созданием проверки, когда пользователь не указал, какой пользователь будет обрабатывать задачу. Ввод user_id вводится в список опций. В TaskController:
public function create(Request $request)
{
$task = new Task();
$task->description = $request->get('description');
$task->user_id = $request->get('user_id');
$val = Task::Inputvalidator($request->validated());
$file = $request->file('file');
if($request->hasFile('file')){
foreach($file as $file){
$file->move('storage/uploads', $file->getClientOriginalName());
$task->image =\Storage::url("uploads/".$_FILES["file"]["name"][0]);
$task->image2 =\Storage::url("uploads/".$_FILES["file"]["name"][1]);
$task->save();
}
}
$task->task_date = request('task_date');
$dt1 = Carbon::now();
$dt2 = Carbon::parse($task->task_date);
if($dt1 > $dt2){
echo $messages->first("You have to chose after today as the deadline");
return redirect('/');
}else{
$dt3 = $dt1->diffInDays($dt2);
$task->expired = $dt3;
}
$duplicate = Task::where('description',$request->get('description'))->first();
$duplicateUser = Task::where('user_id',$request->get('user_id'))->first();
$duplicateDate = Task::where('task_date',$request->get('task_date'))->first();
if($duplicate&&$duplicateDate&&$duplicateUser)
{
return redirect('/')->with('popup', 'duplicate');
}
else
{
$task->save();
}
return redirect('/');
}
В моей модели задач:
protected $fillable = ['name','user_id','description','task_date'];
public function user()
{
return $this->belongsTo(User::class);
}
public static function Inputvalidator(Request $request){
$rules = array(
'user_id' =>'required|not_in:0'
);
$this->validate($request,$rules);
}
protected function getInputCredentials(Request $request){
$validator = $this->inputvalidator($request);
var_dump($validator); die();
if($validator->passes())
{
return[
'user_id' => Request::input('user_id')
];
return true;
}
else{
return redirect()->back()->withErrors();
}
}
Но я сейчас придумываю другую ошибку, слишком мало аргументов, запрос нужно экземпляр. Теперь под этим кодом сказано неопределенные правила для переменных. Я не слишком уверен, что я должен исправить этот код. Можете ли вы помочь мне решить и проверить этот код правильно или нет? Спасибо.