Я впервые окунул пальцы в Laravel PHP, но я попал в проблему, которую я не могу понять. Я продолжаю получать следующие два сообщения об ошибках, когда я пытаюсь отправить информацию через форму (используя фасад формы) в попытке создать новую строку в таблице «файлы».Нарушение ограничения целостности - PHP Laravel MVC 5.0
QueryException в connection.php линии 624: Integrity нарушение ограничения: 19 NOT NULL ограничение не удалось: files.file_description (SQL: вставить в "файлы" ("file_title", "updated_at", "created_at") значения (title test, 2015-10-02 00:18:00, 2015-10-02 00:18:00))
PDOException в строке Connection.php 362: SQLSTATE [23000]: нарушение ограничения целостности : 19 NOT NULL constraint failed: files.file_description (SQL: вставить в «файлы» («file_title», «updated_at», «created_at») значения (tesr, 2015-10-02 00:18:00, 2015-10- 02 00:18:00))
Ниже приводятся мои файлы, относящиеся к этой проблеме. Я заполнил одну строку, используя вояж, и я могу отредактировать эту строку просто в форме. Создание новых строк через форму кажется единственной проблемой. Я просмотрел другие темы по этому вопросу, но я не нашел никаких решений в контексте моей проблемы. Любая помощь будет оценена!
UPDATE 1: мне удалось похудеть ошибки на только нарушение ограничений целостности на величине file_title пути размещения $ временных меток публичных = ложь; в файловую модель согласно предложению. Тем не менее, я все еще пытаюсь исправить нарушение ограничения на значение file_title.
Миграция файла
class CreateFileManagementTables extends Migration
{
public function up()
{
Schema::create('files', function (Blueprint $table) {
$table->increments('id');
$table->string('file_title');
$table->string('file_name');
$table->string('file_description');
$table->string('file_path');
$table->nullableTimestamps();
$table->string('uploader_name');
$table->double('file_size');
$table->string('file_type');
});
}
public function down()
{
Schema::drop('files');
}
}
Файлы Модель
class File extends Model {
// Mass assignment
protected $fillable = ['file_title', 'file_name', 'file_description', 'file_path', 'uploader_name', 'file_size', 'file_type'];
}
Создание функции контроллера
public function create()
{
return view('files.create');
}
Create View
@extends('app')
@section('content')
<h1>Create a new file</h1>
{!! Form::open(['url'=>'files']) !!}
@include('files.form', ['submitButtonText'=>'Create file'])
{!! Form::close() !!}
@stop
Что вы хотите сделать с этим '$ стол-> nullableTimestamps(); '? – aldrin27
На данный момент я планирую, что пользователи загружают файлы, так что здесь можно указать nullableTimestamps, чтобы сервер мог собирать время загрузки. У меня также создается впечатление, что вам нужно указывать только имя временных меток, когда вы хотите ввести даты, введенные пользователем, - не уверен, что это правильно. – Tyrx
По умолчанию это временные метки '$ table-> timestamps();'? – aldrin27