Я потратил два часа, пытаясь исправить это, но безуспешно!
Я пытаюсь сохранить сообщение, подпись и его изображение, а также uder_id,
Вот файл миграции:
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('user_id');
$table->unsignedBigInteger('caption');
$table->string('image');
$table->timestamps();
});
}
public function store()
{
$data= \request()->validate ([
'caption'=>'required',
'image'=>'',
]);
auth()->user()->posts()->create($data);
dd(\request()->all());
}
Вот модель
class posts extends Model
{
protected $guarded = array(
// Any columns you don't want to be mass-assignable.
// Or just empty array if all is mass-assignable.
);
public function user()
{
return $this->belongsTo(User::class);
}
}
Вот вид
<div class="form-group row">
<label for="caption" class="col-md-4 col-form-label">post Caption</label>
<input id="caption"
type="text"
class="form-control @error('caption') is-invalid @enderror"
name="caption"
value="{{ old('caption') }}"
autocomplete="caption" autofocus>
@error('caption')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
<div>
<label for="image" class="col-md-4 col-form-label">post_image</label>
<input type="file" , class="form-control-file" , id="image" ,name="image">
<div class=" row pt-5">
<button class="btn btn-primary "> Add new post</button>
</div>
@error('image')
<strong>{{ $message }}</strong>
@enderror
</div>
</div>
и вот ошибка
Illuminate \ Database \ QueryException SQLSTATE [23000]: нарушение ограничения целостности: 19 Ошибка ограничения NOT NULL: posts.image (SQL: вставить в «сообщения» («заголовок», «идентификатор_пользователя», «обновленный_ат», «созданный_ат») значения ( чч, 4, 2020-01-04 09:39:53, 2020-01-04 09:39:53))
надеюсь, мы сможем это исправить!
caption
иimage
обязательны в вашем файле миграции. Даже если вы проверяете толькоcaption
, как требуется в вашем контроллере. - person PtrTon   schedule 04.01.2020post
требуется изображение? - person Rwd   schedule 04.01.202019 NOT NULL constraint failed: posts.image (SQL:...
это означает, что нет данных для поля изображения (posts.image) при вставке в сообщения. Если вы хотите, чтобы данные вставлялись в таблицу с пустым изображением или заголовком, сделайте их допускающими значение NULL или предоставьте данные. Хотя я не вижу варианта использования, в котором эти данные должны допускать значение NULL ... - person hajrovica   schedule 04.01.2020