метод store () и update () - PullRequest
       1

метод store () и update ()

1 голос
/ 14 октября 2019

Я должен сделать проверку между датой оплаты и датой сеанса в моем магазине методов (). Метод store () в порядке!

$datePayment = Payment::where('fk_student', $request->get('fk_student'))
->whereDate('date_payment', ">" , $date_seance)
->first();

 if(isset($datePayment)){
            return redirect()->route('trainings.index')
                ->with('error', 'There is a problem with the payment date! ');
}

Моя проблема в обновлении функции (), я застрял. Когда я изменяю значение date_seance, проверка не выполняется.

$datePayment = Payment::where('fk_student', $request->get('fk_student'))
->whereDate('date_payment', ">" , $date_seance)
->first();

if(isset($datePayment)){
    return redirect()->route('trainings.index')
    ->with('error', 'There is a problem with the payment date! ');
}

else{
   $trainings = Training::find($id);
   $trainings->date_seance = $request->get('date_seance');
   ...
   $trainings->save();
   return redirect()->route('trainings.index')
    ->with('success', 'Update!')->withInput();
   }

Я знаю, что моя проблема здесь в условии:

if(isset($datePayment)){
        return redirect()->route('trainings.index')
        ->with('error', 'There is a problem with the payment date! ');
    }

Спасибо за вашу помощь.

1 Ответ

2 голосов
/ 15 октября 2019

Если это метод update($id), изменение на date_seance не будет проверяться, потому что запрос ищет неправильные платежи студента.

Прежде чем искать чек,получить модель training , которая обновляется внутри метода (из переданной $id). Это будет иметь правильный студент id от его модели. Итак ..

В методе обновления:

 $training = Training::find($id);
 $datePayment = Payment::where('fk_student', $training->fk_student) // NOT from $request
    ->whereDate('date_payment', ">" , $date_seance)
    ->first();

Вместо того, чтобы вводить студента , который пишет форму , убедитесь, что вы получаете платежи отстудент, который находится на платеже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...