hoi
Ik heb de volgende private method gemaakt in mijn model.
Het is de bedoeling dat hij een object maakt van uit de database tabel, dit gaat ook goed op 1 puntje na.
Ik vul alvast de default waardes in echter gaat het soms bij NULL fout dan is het een string ipv NULL
Hier onder kan je zien dat group_id (INT) een string is en bij gender (VARCHAR(16)) weer echt NULL.PHP Code:
/**
* Create a new object from DB table
* @return mixed
*/
private static function createObject()
{
$q = "SELECT COLUMN_NAME, COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = :table";
$stmt = self::$db->prepare($q);
$stmt->bindValue(':table', static::TABLE, PDO::PARAM_STR);
$stmt->execute();
$object = new Static();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
if (!in_array($row['COLUMN_NAME'], [static::$primaryKey, 'deleted_at'])) {
$default = NULL;
if (strlen($row['COLUMN_DEFAULT'])) {
$default = ($row['COLUMN_DEFAULT'] != NULL ? $row['COLUMN_DEFAULT'] : $default ); }
$object->__set($row['COLUMN_NAME'], $default);
}
}
return $object;
}
Iemand de oplossing voor dit probleem?PHP Code:
object(App\Models\Customers)#21 (14) { ["group_id"]=> string(4) "NULL" ["gender"]=> NULL ["firstname"]=> NULL ["middlename"]=> string(4) "NULL" ["lastname"]=> NULL ["email"]=> NULL ["password"]=> NULL ["disabled"]=> string(1) "0" ["active"]=> string(1) "0" ["active_at"]=> string(4) "NULL" ["activate_hash"]=> string(4) "NULL" ["created_at"]=> string(4) "NULL" ["updated_at"]=> string(4) "NULL" ["daleted_at"]=> string(4) "NULL" }
- Object aanmaken vanuit de tabel.
-
17-05-2019, 14:11 #1
- Berichten
- 501
- Lid sinds
- 18 Jaar
Object aanmaken vanuit de tabel.
-
-
17-05-2019, 14:49 #2
- Berichten
- 501
- Lid sinds
- 18 Jaar
Re: Object aanmaken vanuit de tabel.
Het is inmiddels opgelost ;)
IS_NULLABLE aan de query toegevoegd. en daar check ik later op en zet dat veld dan echt op null.
PHP Code:$q = "SELECT COLUMN_NAME, COLUMN_DEFAULT, IS_NULLABLE FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = :table";
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic