Inserting data into database in laravel don’t work. PHP Controller code:
JavaScript
x
public static function publish (Request $request) {
$autor = session("name")." ".session("surname");
$title = $request->title;
$title2 = $request->title2;
$titlePhoto = $request->titlePhoto;
$text = $request->text;
$category = $request->category;
$tag = $request->tag;
$source = $request->source;
DB::table("articles")->insertGetId(
["title" => $title, "autor" => $autor, "text" => $text, "title2" => $title2, "category" => $category, "titlephoto" => $titlePhoto, "tag" => $tag, "source" => $source]
);
}
The request data are received by the controller.
I have in table another column: date but i want to keep them empty. Laravel won’t let me leave them empty. Display error: Field ‘date’ doesn’t have a default value
if I change “DB::table(“articles”)->insertGetId…” to “DB::insert(“INSERT INTO articles
(title
, autor
, title2
, category
, titlephoto
, tag
, source
) VALUES (‘$title’, ‘$autor’, ‘$title2’, ‘$category’, ‘$titlePhoto’, ‘$tag’, ‘$source’)”);” it doesn’t work either, but it doesn’t return the error.
Why doesn’t it work?
Advertisement
Answer
If you want to empty date field you have 2 option:
1.add this key to insert array as blank "date" => ""
OR
2.modify date column as nullable
JavaScript
ALTER TABLE your_table MODIFY date DATETIME