abonnement Unibet Coolblue Bitvavo
pi_149807930
quote:
10s.gif Op woensdag 18 februari 2015 21:19 schreef mstx het volgende:

[..]

Tinyint(1) = 0 t/m 9
Boolean = true/false

Hoe is dat het zelfde?
Volgens mij moet je even opzoeken wat die 1 betekent.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_149807980
quote:
1s.gif Op woensdag 18 februari 2015 21:21 schreef Monolith het volgende:

[..]

Volgens mij moet je even opzoeken wat die 1 betekent.
die 1 betekend 1 teken lezen toch? :P
..///
pi_149807998
quote:
10s.gif Op woensdag 18 februari 2015 21:19 schreef mstx het volgende:
Tinyint(1) = 0 t/m 9
Nee, tinyint(1) is een integer van 1 bit, dus een boolean.
dat heb ik fout. Maar een boolean wordt wel altijd als tinyint(1) opgeslagen. Dus zo gek is het niet dat Doctrine die aanname doet.

[ Bericht 14% gewijzigd door KomtTijd... op 18-02-2015 21:28:35 ]
pi_149808184
quote:
0s.gif Op woensdag 18 februari 2015 21:22 schreef wipes66 het volgende:

[..]

die 1 betekend 1 teken lezen toch? :P
http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html

Kleine correctie inderdaad, het is de display width, maar tinyint(1) wordt in mysql gezien als synoniem van boolean.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_149808325
quote:
14s.gif Op woensdag 18 februari 2015 21:22 schreef KomtTijd... het volgende:

[..]

Nee, tinyint(1) is een integer van 1 bit, dus een boolean.
mysql heeft geen echte boolean, dus 'boolean' is gewoon een allias voor tinyint(1) wat 8-bit is.
..///
  woensdag 18 februari 2015 @ 21:31:52 #36
91039 mstx
2x1/2 = 1/2 x 1/2
pi_149808498
quote:
14s.gif Op woensdag 18 februari 2015 21:22 schreef KomtTijd... het volgende:

[..]

Nee, tinyint(1) is een integer van 1 bit, dus een boolean.
dat heb ik fout. Maar een boolean wordt wel altijd als tinyint(1) opgeslagen. Dus zo gek is het niet dat Doctrine die aanname doet.
Als ik het verander naar tinyint(3) zegt hij nog steeds dat het een boolean is.
Ik wil gewoon het aantal versnellingen van een auto opslaan, een tinyint leek me daar het juiste type voor. :?
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_149808699
quote:
0s.gif Op woensdag 18 februari 2015 21:31 schreef mstx het volgende:

[..]

Als ik het verander naar tinyint(3) zegt hij nog steeds dat het een boolean is.
Ik wil gewoon het aantal versnellingen van een auto opslaan, een tinyint leek me daar het juiste type voor. :?
Op zich wel, maar omdat doctrine types mapt tussen PHP en MySQL stelt het tinyint gelijk aan boolean kennelijk. Zie ook:
http://stackoverflow.com/(...)ype-in-entity-column
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_149808730
quote:
0s.gif Op woensdag 18 februari 2015 21:31 schreef mstx het volgende:

[..]

Als ik het verander naar tinyint(3) zegt hij nog steeds dat het een boolean is.
Ik wil gewoon het aantal versnellingen van een auto opslaan, een tinyint leek me daar het juiste type voor. :?
Waarom maak je je uberhaupt druk om het database format? Laat dat lekker aan doctrine over. Die zal er waarschijnlijk een int van maken. Mocht je dat nog willen micro-optimaliseren naar een tinyint kun je dat doen na uitrol van je applicatie.
  woensdag 18 februari 2015 @ 21:45:52 #39
91039 mstx
2x1/2 = 1/2 x 1/2
pi_149809072
quote:
14s.gif Op woensdag 18 februari 2015 21:37 schreef KomtTijd... het volgende:

[..]

Waarom maak je je uberhaupt druk om het database format? Laat dat lekker aan doctrine over. Die zal er waarschijnlijk een int van maken. Mocht je dat nog willen micro-optimaliseren naar een tinyint kun je dat doen na uitrol van je applicatie.
Omdat ik die database al had en ik altijd de juiste datatypes probeer te gebruiken. :P En dan is het gewoon een beetje vreemd dat een auto ineens "true" versnellingen heeft terwijl er "6" in de database staat. :6
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  † In Memoriam † woensdag 18 februari 2015 @ 22:49:11 #40
159335 Boze_Appel
Vrij Fruit
pi_149811836
quote:
1s.gif Op woensdag 18 februari 2015 21:36 schreef Monolith het volgende:

[..]

Op zich wel, maar omdat doctrine types mapt tussen PHP en MySQL stelt het tinyint gelijk aan boolean kennelijk. Zie ook:
http://stackoverflow.com/(...)ype-in-entity-column
Dat krijg je met dat soort systemen. PostgreSQL heeft geen tinyint en sqllite weer wel dus mappen ze inderdaad een tinyint naar een boolean.

mstx: Ik zou dan gewoon smallint gebruiken, dan heb je tenminste 32767 versnellingen voor- en achteruit of 65535 vooruit. :D
Carpe Libertatem
pi_149812152
quote:
10s.gif Op woensdag 18 februari 2015 21:19 schreef mstx het volgende:

[..]

Tinyint(1) = 0 t/m 9
Boolean = true/false

Hoe is dat het zelfde?
ENUM ('TRUE','FALSE') :P
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
pi_149814618
quote:
0s.gif Op woensdag 18 februari 2015 21:45 schreef mstx het volgende:

[..]

Omdat ik die database al had en ik altijd de juiste datatypes probeer te gebruiken. :P En dan is het gewoon een beetje vreemd dat een auto ineens "true" versnellingen heeft terwijl er "6" in de database staat. :6
Je kunt je entities toch wel handmatig aanpassen naar het goeie format lijkt me?
pi_149818337
Alles kan, zo had ik een collega die het een goed idee vond om een nullable bool te gebruiken, en op die manier tristate te kunnen opslaan, nog nooit zoveel gezeik gehad met exports :r :9~
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
pi_149819074
quote:
0s.gif Op donderdag 19 februari 2015 08:51 schreef raptorix het volgende:
Alles kan, zo had ik een collega die het een goed idee vond om een nullable bool te gebruiken, en op die manier tristate te kunnen opslaan, nog nooit zoveel gezeik gehad met exports :r :9~
Daar is een boolean inderdaad niet voor bedoeld en het levert in SQL en veel andere talen doorgaans wel vrij onverwachte informatie op als je er logische operaties mee gaat uitvoeren.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_149819247
quote:
0s.gif Op donderdag 19 februari 2015 09:36 schreef Monolith het volgende:

[..]

Daar is een boolean inderdaad niet voor bedoeld en het levert in SQL en veel andere talen doorgaans wel vrij onverwachte informatie op als je er logische operaties mee gaat uitvoeren.
Ja klopt, er moest een sync proces via een automatisch tool naar Oracle worden gezet, in die tooling kon geen cast worden gedaan waardoor enige mogelijkheid was om al die velden te gaan omzetten, dit leverde ook weer allemaal gezeik op omdat een boolean in die tijd formeel geen null kon zijn in SQL Server, heeft echt weken gekost om dat goed gefixed te krijgen.
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
  woensdag 25 februari 2015 @ 20:35:20 #46
37634 wobbel
Da WoBBeL King
pi_150042597
Help, ik zit in de knoei met een SQL query in PHP....

Ik heb een tabel met daarin hardware die besteld moet worden, zie onderstaande tabel:

tabel "bestellen"
volgende velden:

product
userdienodigheeft
userdiebesteldheeft

De user velden zijn ID's die ik vanuit een andere tabel "users" kan joinen

tabel "users"
iduser
naam

Als ik een JOIN die op de volgende manier kan dat prima als ik maar 1 user wil ophalen, maar hoe doe ik dat als ik de gegevens van 2 users wil ophalen? De bestelling kan nodig zijn voor user 1000 en besteld zijn door user 1028 namelijk :)

Huidige query waarmee ik maar 1 user ophaal

1
2
3
4
5
<?php
SELECT 
FROM bestellen
INNER JOIN users 
ON 
bestellen.userdienodigheeft users.IdUser 
?>

Mijn idee, welke uiteraard niet werkt was het volgt, maar hoe moet het wel??

1
2
3
4
5
6
7
<?php
SELECT 
FROM bestellen
INNER JOIN users 
ON 
bestellen.userdienodigheeft users.IdUser 
INNER JOIN users 
ON 
bestellen.userdiebesteldheeft users.IdUser )
?>

In beide gevallen krijg ik maar 1 veld terug, dat is 'naam' maar ik wil eigenlijk naamNodig en naamBesteld ofzo krijgen :)
pi_150042833
quote:
0s.gif Op woensdag 25 februari 2015 20:35 schreef wobbel het volgende:
Help, ik zit in de knoei met een SQL query in PHP....

Ik heb een tabel met daarin hardware die besteld moet worden, zie onderstaande tabel:

tabel "bestellen"
volgende velden:

product
userdienodigheeft
userdiebesteldheeft

De user velden zijn ID's die ik vanuit een andere tabel "users" kan joinen

tabel "users"
iduser
naam

Als ik een JOIN die op de volgende manier kan dat prima als ik maar 1 user wil ophalen, maar hoe doe ik dat als ik de gegevens van 2 users wil ophalen? De bestelling kan nodig zijn voor user 1000 en besteld zijn door user 1028 namelijk :)

Huidige query waarmee ik maar 1 user ophaal
[ code verwijderd ]

Mijn idee, welke uiteraard niet werkt was het volgt, maar hoe moet het wel??
[ code verwijderd ]

In beide gevallen krijg ik maar 1 veld terug, dat is 'naam' maar ik wil eigenlijk naamNodig en naamBesteld ofzo krijgen :)
Je doet twee Inner Joins op dezelfde tabel, volgens mij kun je er dan beter twee aparte queries van maken.

Maar je kunt het keyword 'as' gebruiken om bijnamen te geven aan kolomnamen.

[ Bericht 0% gewijzigd door #ANONIEM op 25-02-2015 20:44:54 ]
  woensdag 25 februari 2015 @ 21:02:41 #48
37634 wobbel
Da WoBBeL King
pi_150043787
quote:
0s.gif Op woensdag 25 februari 2015 20:40 schreef robin007bond het volgende:

[..]

Je doet twee Inner Joins op dezelfde tabel, volgens mij kun je er dan beter twee aparte queries van maken.

Maar je kunt het keyword 'as' gebruiken om bijnamen te geven aan kolomnamen.
Dat met die keywords/bijnamen begrijp ik, maar niet hoe ik aan de 2 namen van de users kom. Ik doe inderdaad twee joins op 1 tabel maar dat werkt uiteraard niet...

Ik zou een 2e query kunnen doen, maar dan zou ik dat voor élk resultaat moeten doen. Bij een pagina met 20 resultaten heb ik dan 21 queries (1 querie voor de resultaten inclusief join voor de 1e naam, en 20 voor de andere namen)
pi_150043875
quote:
0s.gif Op woensdag 25 februari 2015 21:02 schreef wobbel het volgende:

[..]

Dat met die keywords/bijnamen begrijp ik, maar niet hoe ik aan de 2 namen van de users kom. Ik doe inderdaad twee joins op 1 tabel maar dat werkt uiteraard niet...

Ik zou een 2e query kunnen doen, maar dan zou ik dat voor élk resultaat moeten doen. Bij een pagina met 20 resultaten heb ik dan 21 queries (1 querie voor de resultaten inclusief join voor de 1e naam, en 20 voor de andere namen)
Sorry, maar dan heb je je database waarschijnlijk niet optimaal ingericht. :@
pi_150045567
quote:
0s.gif Op woensdag 25 februari 2015 21:02 schreef wobbel het volgende:

[..]

Dat met die keywords/bijnamen begrijp ik, maar niet hoe ik aan de 2 namen van de users kom. Ik doe inderdaad twee joins op 1 tabel maar dat werkt uiteraard niet...

Ik zou een 2e query kunnen doen, maar dan zou ik dat voor élk resultaat moeten doen. Bij een pagina met 20 resultaten heb ik dan 21 queries (1 querie voor de resultaten inclusief join voor de 1e naam, en 20 voor de andere namen)
Je hebt mogelijk kolommen met eenzelfde naam zodat in het resultaat er één (unieke naam) overblijft.
Je kunt het oplossen door alternatieve namen in de SELECT te gebruiken. Bijvoorbeeld:
1
2
3
4
5
6
7
8
    SELECT b.*,
           u1.idUser AS idUser1, u1.naam AS naam1
           u2.idUser AS idUser2, u2.naam AS naam2
      FROM bestellen AS b
INNER JOIN users AS u1
        ON b.userdienodigheeft = u1.IdUser
INNER JOIN users AS u2
        ON b.userdiebesteldheeft = u2.idUser
(Ik weet niet welke kolommen er verder voorkomen).
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
  donderdag 26 februari 2015 @ 08:19:46 #51
37634 wobbel
Da WoBBeL King
pi_150057610
quote:
7s.gif Op woensdag 25 februari 2015 21:43 schreef Aether het volgende:

[..]

Je hebt mogelijk kolommen met eenzelfde naam zodat in het resultaat er één (unieke naam) overblijft.
Je kunt het oplossen door alternatieve namen in de SELECT te gebruiken. Bijvoorbeeld:
[ code verwijderd ]

(Ik weet niet welke kolommen er verder voorkomen).
Top, dit is hem inderdaad :) You saved my day, nu krijg inderdaad netjes de juiste namen te zien.

quote:
0s.gif Op woensdag 25 februari 2015 21:04 schreef robin007bond het volgende:

[..]

Sorry, maar dan heb je je database waarschijnlijk niet optimaal ingericht. :@
Die kans is aanwezig, maar soms moet je werken met wat je hebt :P
pi_150059766
Stabiele versie 1.0.0 appserver.io uitgebracht.
quote:
The objective of the project is to develop a multithreaded application server for PHP, written in PHP. Yes, pure PHP! You think we aren't serious? Maybe! But we think, in order to enable as many developers in our great community, this will be the one and only way. So with your help we hopefully establish a solution as the standard for enterprise applications in PHP environments.
http://appserver.io/
https://github.com/appserver-io/appserver
When the student is ready, the teacher will appear.
When the student is truly ready, the teacher will disappear.
pi_150061101
quote:
7s.gif Op donderdag 26 februari 2015 10:07 schreef Aether het volgende:
Stabiele versie 1.0.0 appserver.io uitgebracht.

[..]

http://appserver.io/
https://github.com/appserver-io/appserver
Ik heb een beter idee. Leer Java. :P
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_150135862
quote:
15s.gif Op woensdag 18 februari 2015 21:14 schreef mstx het volgende:
Ben sinds kort iets aan het maken met Symfony2/Doctrine. Dus ik heb in mijn database een TINYINT veld, zegt dat systeem dat het een boolean is. Welke idioot heeft dat bedacht? |:(
Je hebt met PHP te maken, elke idioot kan dat bedacht hebben (Ik heb de draad gelezen, het komt door mysql..)
In theory there is no difference between theory and practice. In practice there is.
pi_150136002
quote:
14s.gif Op woensdag 18 februari 2015 21:37 schreef KomtTijd... het volgende:

[..]

Waarom maak je je uberhaupt druk om het database format? Laat dat lekker aan doctrine over. Die zal er waarschijnlijk een int van maken. Mocht je dat nog willen micro-optimaliseren naar een tinyint kun je dat doen na uitrol van je applicatie.
Docterine zit fout m.i. De MySQL docs zeggen:

quote:
A value of zero is considered false. Nonzero values are considered true
Dat wilt dus zeggen dat een tinyint(1) veld dus: 0 of niet 0 moet teruggeven, als je if ($bool) doet, gaat die logica vanzelf goed, daar hoeven ze geen "true" of "false" van de maken. En mocht je echt willen dat een tinyint een boolean is, dan moet je dat ergens in je schema kunnen opnemen.

http://doctrine-dbal.read(...)reference/types.html Should be possible..
In theory there is no difference between theory and practice. In practice there is.
pi_150137744
Dat gaat je problemen opleveren wanneer je b.v. === true doet. De == operator in PHP is aardig verneukt.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_150138980
quote:
0s.gif Op zaterdag 28 februari 2015 08:57 schreef Monolith het volgende:
Dat gaat je problemen opleveren wanneer je b.v. === true doet. De == operator in PHP is aardig verneukt.
hoezo? ohhh omdat 0 === true is?
In theory there is no difference between theory and practice. In practice there is.
pi_150139104
quote:
1s.gif Op zaterdag 28 februari 2015 10:38 schreef slacker_nl het volgende:

[..]

hoezo? ohhh omdat 0 === true is?
Nee, omdat bijvoorbeeld 3 === true false oplevert en dergelijke checks dus falen als je de daadwerkelijke int waarden gebruikt.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
pi_150139512
quote:
1s.gif Op zaterdag 28 februari 2015 10:45 schreef Monolith het volgende:

[..]

Nee, omdat bijvoorbeeld 3 === true false oplevert en dergelijke checks dus falen als je de daadwerkelijke int waarden gebruikt.
Doctorine moet gewoon niet naar het interne storageformaat kijken maar ergens in z'n schema files een definitie plaatsen van de kolom: boolean. Dat ie dat vervolgens mapped maar tinyint of supersmallint of weet ik het maakt dan niet uit. Null == false, idem voor 0 en de rest is true. Fixed. Dan kan je tinyint gebruiken in je DB en booleans zonder gezeik met true versnellingen.

Beetje ala
http://search.cpan.org/~g(...)ateColumn/Boolean.pm

[ Bericht 5% gewijzigd door slacker_nl op 28-02-2015 11:19:38 ]
In theory there is no difference between theory and practice. In practice there is.
pi_150139839
quote:
1s.gif Op zaterdag 28 februari 2015 11:06 schreef slacker_nl het volgende:

[..]

Doctorine moet gewoon niet naar het interne storageformaat kijken maar ergens in z'n schema files een definitie plaatsen van de kolom: boolean. Dat ie dat vervolgens mapped maar tinyint of supersmallint of weet ik het maakt dan niet uit. Null == false, idem voor 0 en de rest is true. Fixed. Dan kan je tinyint gebruiken in je DB en booleans zonder gezeik met true versnellingen.
Doctrine zelf is gewoon een ORM framework. Volgens mij gebruikt betreffende user gewoon een tooltje om op basis van een database schema de bijbehorende code te kunnen genereren. Doctrine werkt net als allerhande andere ORM frameworks met annotaties, waarbij je ook types op kunt geven.
Volkorenbrood: "Geen quotes meer in jullie sigs gaarne."
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')