Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] Null is being populated as a String if MariaDB used #5659

Open
pedja1982 opened this issue Sep 15, 2024 · 4 comments
Open

[Bug] Null is being populated as a String if MariaDB used #5659

pedja1982 opened this issue Sep 15, 2024 · 4 comments

Comments

@pedja1982
Copy link

Bug report

What I did

I create a model and table in DevTools that contains a nullable field, and when I open the create form in CRUD, I get the default value "NULL" as a "STRING" instead of an empty field.

What I expected to happen

I expect the input to be empty (value='').

What happened

I am getting the value NULL as a string (value='NULL').

What I've already tried to fix it

We have a datetime field in the database that is nullable. When I went to create, the datepicker didn't work—it didn't show up at all until I set ->value('') to empty in the datetime_picker. That's how we solved the issue of getting the datepicker to work, because if "null" stays as a string, it throws an error since it can't parse the date (Uncaught TypeError: defaultDate() Could not parse date parameter: NaN). However, it's not right that we have to manually remove the string "null" from every input field that is nullable in the database.

bug

Is it a bug in the latest version of Backpack?

After I run composer update backpack/crud the bug... is it still there? YES

Backpack, Laravel, PHP, DB version

When I run php artisan backpack:version the output is:

8.2.22

### PHP EXTENSIONS:

Core, date, libxml, openssl, pcre, sqlite3, zlib, bz2, calendar, ctype, curl, hash, filter, ftp, gettext, json, iconv, SPL, pcntl, random, readline, Reflection, session, standard, mbstring, shmop, SimpleXML, tokenizer, xml, i360, dom, fileinfo, gd, gmp, grpc, intl, exif, PDO, mysqlnd, mysqli, pdo_mysql, pdo_sqlite, Phar, posix, xmlreader, xmlwriter, xsl, zip, ionCube Loader

### LARAVEL VERSION:
11.23.5.0

### BACKPACK PACKAGE VERSIONS:
backpack/basset: 1.3.6
backpack/crud: 6.7.34
backpack/devtools: 3.1.6
backpack/editable-columns: 3.0.10
backpack/generators: v4.0.6
backpack/pro: 2.2.16
backpack/theme-tabler: 1.2.13```

Copy link

welcome bot commented Sep 15, 2024

Hello there! Thanks for opening your first issue on this repo!

Just a heads-up: Here at Backpack we use GitHub Issues only for tracking bugs. Talk about new features is also acceptable. This helps a lot in keeping our focus on improving Backpack. If you issue is not a bug/feature, please help us out by closing the issue yourself and posting in the appropriate medium (see below). If you're not sure where it fits, it's ok, a community member will probably reply to help you with that.

Backpack communication channels:

  • Bug Reports, Feature Requests - GitHub Issues (here);
  • Quick help (How do I do X) - Gitter Chatroom;
  • Long questions (I have done X and Y and it won't do Z wtf) - Stackoverflow, using the backpack-for-laravel tag;
  • Showing off something you've made, asking for opinion on Backpack/Laravel matters - Reddit;

Please keep in mind Backpack offers no official / paid support. Whatever help you receive here, on Gitter, Slack or Stackoverflow is thanks to our awesome awesome community members, who give up some of their time to help their peers. If you want to join our community, just start pitching in. We take pride in being a welcoming bunch.

Thank you!

--
Justin Case
The Backpack Robot

@karandatwani92
Copy link
Contributor

Hey @pedja1982

I'm unable to reproduce the issue.
Screenshot 2024-09-16 at 3 09 43 PM
Screenshot 2024-09-16 at 3 10 39 PM

Can you recheck on your end? If the problem continues, please let me know the steps to reproduce it.

@AdamovicBoban
Copy link

Hey @karandatwani92 @pedja1982 ,

The problem is with the database server. On MySQL it works, but on MariaDB, "NULL" appears in the input field if the field is nullable in the database. Confirmed!

I have that bug as well, but so far I haven't found a solution other than not using MariaDB.

MARIADB - 10.6.18-MariaDB-cll-lve - MariaDB Server

Screenshot_6

MYSQL - 8.0.39-cll-lve - MySQL Community Server - GPL

Screenshot_7

@tabacitu Please confirm this bug and find a solution.

@karandatwani92 karandatwani92 changed the title [Bug] The default null as a string is causing an issue [Bug] Null is being populated as a String if MariaDB used Oct 12, 2024
@karandatwani92 karandatwani92 moved this from Done to Todo in This week Oct 12, 2024
@airtightdesign
Copy link

Mariadb 10.2.7 and later quote literals to distinguish them from expressions

Default value for the column. Literals are quoted to distinguish them from expressions. NULL means that the column has no default. In MariaDB 10.2.6 and earlier, no quotes were used for any type of default and NULL can either mean that there is no default, or that the default column value is NULL.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Todo
Development

No branches or pull requests

5 participants