Ich bin ziemlich neu in Laravel und erstellt eine Social-Media-Website als Praxis, wo Benutzer ihren Status wie die Facebook-Sache aktualisieren, aber das Problem ist, dass es nicht jeder Beitrag ist das sollte ein Bild haben. SoLARAVEL: Ich versuche, optionale Wert 'Image' auf Server
wann immer ich einen Beitrag ohne ein Bild senden es gibt mir diese Fehlermeldung:
SQLSTATE [23000]: Integrität Einschränkungsverletzung: 1048 Spalte 'Bild' nicht null sein kann (SQL: insert into stories
(body
, image
, user_id
, updated_at
, created_at
) Werte (My anme os Ololade,, 2, 2017.12.14 14.00.08, 2017-12-14 14:00:08))
Welche, dass es zeigt, ist kein Wert für das Bild. Allerdings habe ich die Migrationsdatei aktualisiert und das Bild so nullfähig gemacht: $ table-> binary ('image') -> nullable(); Es funktioniert und Bild hochladen wird optional, aber beim Überprüfen meiner SQL-Datenbank bekomme ich keine Blob-Datei zu sehen, wenn ich Bilder hochladen, da alle Werte unter der Bildspalte null ist.
Bitte gibt es eine Möglichkeit, diesen Fehler zu überschreiben Laravel gibt mir? Das heißt: Wenn es kein Bild gibt, sollte es weitergehen und den Status aktualisieren oder wenn ich eine Validierung über meinen Controller übergeben könnte, dass die Bilddaten nicht benötigt werden.
hier ist mein Code:
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
Sie müssen zuerst die Bedingung hinzufügen, bevor Sie die Abfrage ausführen, um zu prüfen, ob das Bild leer ist oder nicht. –