Я добавляю регистр истории при отправке петиций в приложение Laravel, но когда я вызываю метод History :: create ([...]); , я получаю ошибку MethodNotAllowedHttpException . если я прокомментирую этот метод, все работает. Следуйте сервисному коду и истории модели:
use App\Entities\History;
class PetitionService {
public function newPetition(Request $request, Human $student) {
//Se o Student estiver na primeira posição da DUPLA
$doubleStudent = DoubleStudent::all()->where('status', '=', 'active')->where('student_id', '=', $student->id)->first();
if ($doubleStudent == null) { // se não estiver na primeira posição da DUPLA
$doubleStudent = DoubleStudent::all()->where('status', '=', 'active')->where('student2_id', '=', $student->id)->first();
}
$student_ok = $request->botao == 'ENVIAR'; // 'ENVIAR'(para o professor) ou 'SALVAR'(rascunho)
$novapeticao = [
'description' => $request['description'],
'content' => $request['content'],
'template_id' => $request['template_id'],
'doubleStudent_id' => $doubleStudent->id,
'group_id' => $doubleStudent->group_id,
'version' => 1,
'visible' => 'true',
];
if ($student_ok) {
$novapeticao['student_ok'] = 'true';
}
$petition = Petition::create($novapeticao);
$this->countPetition($doubleStudent);
$petition->petitionFirst = $petition->id;
$petition->save();
History::create([
'student_id' => $student->id,
'double_students_id' => $doubleStudent->id,
'petition_id' => $petition->id,
'petitionFirst' => $petition->petitionFirst
]);
if ($request['images'] != null) {
$files = $request->file('images');
foreach ($files as $file) {
$fname = $file->getClientOriginalName();
Photo::create([
'photo' => Storage::disk(env('STORAGE_TYPE', 'dropbox'))->putFileAs('petition/' . $petition->petitionFirst, $file, $fname),
'petition_id' => $petition->id,
]);
}
}
$mensagem = $student_ok ? 'Petição enviada com sucesso!' : 'Petição salva com sucesso!';
$request->session()->flash('status', $mensagem);
}
Если я удалю какой-либо заполняемый элемент, появится сообщение об ожидаемом заполняемом элементе.
namespace App\Entities;
use Illuminate\Database\Eloquent\Model;
class History extends Model {
protected $fillable = [
'student_id',
'doubleStudents_id',
'petition_id',
'petitionFirst'
];
}
РЕДАКТИРОВАТЬ: имя таблицы базы данных "история", я думаю, что это ошибка при поиске имени таблицы, чтобы вставить дату.