Avatar billede artico Novice
10. september 2015 - 14:39 Der er 6 kommentarer og
1 løsning

Bool bliver ignoreret?

Jeg bruger denne php kode til login, som virker:

  $user = $app->user
    ->where('username', $identifier)
    ->orWhere('email', $identifier)
    ->where('active', true)
    ->first();

Men den sidste ->where('active', true) sætning bliver ignoreret, og jeg får lov at logge ind uanset om der står true/false?
Felt i DBén er: INT(1) unsigned, Not null

Hvor og hvad kan jeg kikke efter, eller er forkert her?

Er der nogle gode råd?
Avatar billede michael_stim Ekspert
10. september 2015 - 19:01 #1
Nu ved jeg ikke lige hvad det er du bruger der, men har du prövet med 1 eller 0? Desuden er der en funktion der hedder orWhere, er der en der hedder andWhere?
Avatar billede artico Novice
10. september 2015 - 20:53 #2
Det er Laravel Illuminate\Database

Men uanset hvad jeg prøver ignoreres  ->where('active', true) og  ->orwhere('active', true) kan ikke bruges? meget mystisk ?
Avatar billede majbom Novice
11. september 2015 - 09:04 #3
Jeg har aldrig rodet med dette framework, men ifølge http://laravel.com/docs/5.1/queries#selects vil jeg tro at dette skulle kunne gøre det:


$user = $app->user
    ->where('active', true)
    ->where(function($query){
        $query->where('username', $identifier)
            ->orWhere('email', $identifier)
            })
    ->first();
Avatar billede artico Novice
11. september 2015 - 13:28 #4
Yahh.. det var lige det der skulle til, Mange tak for hjælpen, send svar !
Avatar billede majbom Novice
11. september 2015 - 14:22 #5
Selv tak :-)
Avatar billede majbom Novice
11. september 2015 - 14:24 #6
Hvis du ikke har ledt efter det på siden jeg linker til, er det her: http://laravel.com/docs/5.1/queries#advanced-where-clauses
Det giver egentlig meget god mening, men i forhold til at skrive queryen fra bunden synes jeg ikke det er særlig anvendeligt - jeg kunne godt forstille mig at avancerede where-clauses kan blive rimelig langhårede på den måde.
Avatar billede majbom Novice
14. september 2015 - 09:14 #7
tfp! :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester