저는 Laravel에 매우 익숙하며 사용자가 페이스 북과 같은 상태를 업데이트하는 소셜 미디어 웹 사이트를 만들었지 만 문제는 모든 게시물이 아니라는 것입니다. 이미지에 첨부해야합니다. 내가 이미지없이 게시물을 보낼 어느 때LARAVEL : 서버에 선택적 값 'Image'를 삽입하려고합니다.
그래서 그것은 나에게 오류를 제공합니다
SQLSTATE [23000] : 무결성 제약 조건 위반 : 1,048 열 '이미지'널 (SQL 수 없습니다 : stories
에 삽입 (body
, 있다는 것을 나타낸다 image
, user_id
, updated_at
, created_at
) 값 (내 anme 운영체제 Ololade, 2 2017년 12월 14일 14시 0분 8초, 2017년 12월 14일 14시 0분 8초))
이미지에 대한 값이 없습니다. 그러나, 나는 마이 그 레이션 파일을 업데이트하고 다음과 같이 이미지를 nullable로 만들었습니다. $ table-> binary ('image') -> nullable(); 그것은 작동하고 이미지 업로드는 선택 사항이되지만 내 SQL 데이터베이스를 검사 할 때 이미지 열 아래의 모든 값이 null이므로 이미지를 업로드 할 때마다 blob 파일이 표시되지 않습니다.
이 오류를 무시하는 방법이 있습니까? laravel이 제공합니까? 즉 : 이미지가 없으면 상태를 업데이트해야합니다. 그렇지 않으면 컨트롤러를 통해 유효성 검사를 통과하여 이미지 데이터가 필요하지 않습니다.
public function up()
{
Schema::create('stories', function (Blueprint $table) {
$table->increments('id');
$table->text('body');
$table->binary('image')->
$table->integer('user_id');
$table->timestamps();
});
}
//Migrations file
public function createStory(Request $request){
$image = $request['image'];
$story = new Story();
$story->body = $request['body'];
$story->image = $image;
$request->user()->stories()->save($story);
return response()->json(['message' => 'Your Story has been posted']);
}
//The Function that creates a post
이미지가 비어 있는지 확인하기 위해 쿼리를 실행하기 전에 조건을 먼저 추가해야합니다. –