[laravel] Query Builder get method werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front-end (Angular) developer

Functie Om bovenstaande ambities waar te kunnen maken zijn ze op zoek naar een Front-end (Angular) developer. Het it-team bestaat momenteel uit de IT Manager, 2 back-end developers, 1 fullstack developer, 1 designer en een DevOps engineer. Ze zijn dus op zoek naar professionals die autonoom en gedisciplineerd aan de slag gaan, en bij aanvang als enige developer met hun Front-end applicaties aan de slag gaat. Wel hebben ze de ambitie om hier snel een 2e developer bij te vinden die jij dan ook zal kunnen aansturen/begeleiden. Je zult aan de slag gaan met het doorontwikkelen van hun bestaande UI

Bekijk vacature »

Full Stack .NET Developer

Dit ga je doen Als developer nieuwe gave features ontwikkelen; Werken met technieken als C#, Angular 12 en Javascript,; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken In een team van 7 professionals ben je als Full Stack .NET Developer verantwoordelijk voor het ontwikkelen van applicaties voor het grootste inhouse product: een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Wil je van meerwaarde

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Senior Airport Developer ( System engineer)

De functie Nice to know (you) De nieuwe A-pier wordt de duurzaamste van Schiphol. Als deze af is ligt er 4000 vierkante meter zonnepanelen op het dak. En de toiletten? Die spoelen door met regenwater. we gaan ervoor: het creëren van de meest duurzame en hoogwaardige luchthavens ter wereld. een toekomstbestendig en duurzaam Schiphol. Daar werken we elke dag hard aan in team Development & Sustainability. Jij bent regisseur, expert én aanjager van de ontwikkeling van Schiphol. Connecting your world Hoe maak je de ambities en doelstellingen van Schiphol concreet in een project? De waarde voor Schiphol naar eisen die

Bekijk vacature »

Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Opleveren van mooie eindproducten, middels de Agile methodiek; Samenwerken in een team van 10 collega's; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als Developer kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven. De

Bekijk vacature »

PHP Developer

Dit ga je doen Ontwikkelen, implementeren en testen van PHP-oplossingen en Apps voor klanten en bedrijfsprocessen; Opstellen van requirements en uitwerken van de oplossingen; Testen van software en borgen van een soepele overdracht, inclusief documentatie; Proactief adviseren vanuit eigen expertisegebied over ontwikkelingen en verbeterpunten in technische toepassingen en processen binnen de organisatie. Hier ga je werken De organisatie is een ambitieuze en vooruitstrevende speler in de markt in de regio Rotterdam. Ze zijn de snelst groeiende in hun branche. Met een excellent aanbod en service willen zij de beste keuze zijn voor hun bestaande en nieuwe klanten. Dit alles doen

Bekijk vacature »

Junior Software Developer

Functie omschrijving Wij zijn op zoek naar een Junior Software Developer!? Sta jij aan het begin van jouw loopbaan of heb jij misschien al enige ervaring? Vind jij het daarnaast belangrijk om jezelf constant te kunnen ontwikkelen en uitdagen? Lees dan snel verder! Voor een vooraanstaand softwarehuis in Nieuwegein ben ik op zoek naar een Junior Software Developer. De eigenaar van het bedrijf is ervan bewust dat je als junior nog een hoop kan leren, waardoor je de eerste maanden veel begeleiding en diverse trainingen krijgt. Daarna ga je samen met je collega's aan zowel kleine als grote projecten werken.

Bekijk vacature »

Junior Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Samenwerken in een team van 10 collega's; Opleveren van mooie eindproducten, middels de Agile methodiek; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als startende IT-professional kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven.

Bekijk vacature »

.NET Developer

Functie omschrijving .NET developer met ervaring gezocht! Voor een softwarebedrijf in de regio Veenendaal zijn wij op zoek naar een .NET developer met een aantal jaar ervaring. Jij bent zowel zelfstandig als in teamverband verantwoordelijk voor het ontwikkelen en verbeteren van bestaande producten. Verder ben je bezig met nieuwbouw van websites, webapplicaties en mobiele applicaties die zowel intern als extern gebruikt worden. Je werkt hierbij nauw samen met andere developer, productmanagers en productspecialisten om zo mooie producten te creëren. Bedrijfsprofiel De organisatie waar je voor gaat werken is een snelgroeiende softwareleverancier en allround dienstverlener. Deze organisatie heeft zowel klanten die

Bekijk vacature »

Junior Front end developer

Functie Als Front end developer binnen onze organisatie ga jij je bezig houden met het bouwen van de user experience van de webapplicaties. Je bent verantwoordelijk voor het vertalen van concepten, briefings en designs naar werkende functionaliteit. Hierbij zorg je ervoor dat applicaties betrouwbaar, veilig en toekomstbestendig zijn en een goede architectuur hebben en behouden. Verder denk je actief na- en mee over nieuwe ontwikkelingen en functionaliteiten om zo elke dag de klantervaring weer te verbeteren. Dit doe je natuurlijk niet alleen maar in een development team. Het team bedraagt momenteel 4 man bestaande uit 2 devops engineers en 2

Bekijk vacature »

Senior Java developer

Als Senior Developer bij Sogeti ben je onderdeel van onze toonaangevende best-gecertificeerde Java community. Deze bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfskritische systemen. Een voorbeeld hiervan is een cliënt-volgsysteem bij Reclassering Nederland. Andere klanten waar wij onder andere voor werken: KPN, Philips, Nationale-Nederlanden, Kamer van Koophandel, ABN AMRO, Bovemij, Aval en de Nationale Politie. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We

Bekijk vacature »

Back end developer PHP, Laravel

Functie Jij komt te werken in ons webdevelopment team, wat bestaat uit 8 ervaren collega’s. Hiernaast hebben wij nog een team van 2 ontwikkelaars die aan native applicaties werken. Bij ons zijn er korte lijntjes en er hangt een gezellige informele werksfeer. Maar het belangrijkste is natuurlijk dat je aan geweldige applicaties zult gaan werken! Wij willen als organisatie niet te groot worden, we willen gewoon toffe dingen maken. Onze techstack bestaat momenteel uit: PHP, Laravel, Javascript, Typescript, Git, MySQL, Java, Kotlin, Xamarin. Samen met ons ga jij zorgen dat we puik werk leveren! Waarbij je bij elke fase in

Bekijk vacature »

Back-end Developer C#

Functie omschrijving We are looking for a dutch native speaker Ben jij een ervaren back-end developer, die graag in een in-house functie wil werken? Passen de woorden innovatie, programmeren en teamspeler bij jou? Zoek niet verder en lees snel verder. Voor een echt familiebedrijf in de regio van Uden ben ik op zoek naar een back-end developer, die met name kennis heeft van C# en .NET. Jij gaat de interne applicaties verder optimaliseren en nieuwe features ontwikkelen. Verder ga je de volgende werkzaamheden uitvoeren: Ondersteunen gebruikers; Uitvoeren van analyses van de software/applicaties; Maken van functionele ontwerpen en deze door vertalen

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Back-End Developer in Laravel / PHP

Functie omschrijving Wij zijn op zoek naar een Medior PHP Laravel Developer voor een gaaf bedrijf in de omgeving van Amsterdam! Voor een enthousiast team die zich graag bezig houdt met softwareontwikkeling zijn wij op zoek naar versterking. Je werkt in een klein ontwikkelteam en bent zeer betrokken bij alle aspecten van de softwareoplossingen. Van het ontwerpen tot de oplevering. Binnen deze functie ga je aan de slag met het aanpassen, verbeteren en vernieuwen van de logistieke oplossingen. Je krijgt veel te maken met koppelingen naar systemen en de verzoeken van de klant. Je komt terecht in een team, waarbij

Bekijk vacature »
Victor G

Victor G

31/07/2014 12:13:12
Quote Anchor link
Hallo mensen,

Ik ben een vrij grote query aan het maken met de query builder van laravel. Maar ik krijg helaas niks terug van de query, terwijl als ik deze in phpmyadmin uitvoer krijg ik wel waardes terug. Ik ben vast heel dom bezig, maar ik ben er nu al een tijdje mee aan het prutsen en ik hoopte dat iemand het hier ziet.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php

    /*
    |--------------------------------------------------------------------------
    | fetch {objsoorten, state}
    | @return objecten
    |--------------------------------------------------------------------------
    */

    public static function fetch($objsoorten, $state = 'active') {
        $query = DB::table('objecten')
                    ->
select('objecten.obj_idx', 'objectsoorten.objsoort_id', 'objectsoorten.objsoort_naam', 'objectspecificaties.objspec_waarde', 'objecten.obj_actief', 'attributen.attr_naam', 'attributen.attr_regex')
                    ->
join('objectsoorten', 'objectsoorten.objsoort_id', '=', 'objecten.objsoort_id')
                    ->
join('objectsoort_attributen', 'objectsoort_attributen.objsoort_id', '=', 'objectsoorten.objsoort_id')
                    ->
join('attributen', 'attributen.attr_id', '=', 'objectsoort_attributen.attr_id')
                    ->
join('objectspecificaties', function($join) {
                        $join->on('objectspecificaties.attr_id', '=', 'attributen.attr_id')
                             ->
on('objectspecificaties.obj_id', '=', 'objecten.obj_id');
                    })
                    ->
whereIn('objecten.obj_id', function($query) use ($objsoorten, $state) {
                        $query->select('objecten.obj_id')
                              ->
from('objecten')
                              ->
join('objectsoorten', 'objectsoorten.objsoort_id', '=', 'objecten.objsoort_id')
                              ->
join('objectspecificaties', 'objectspecificaties.obj_id', '=', 'objecten.obj_id')
                              ->
where('objectspecificaties.objspec_waarde', 'LIKE', '\'%%\'');
                        
                        if(is_array($objsoorten)) {
                            foreach($objsoorten as $key => $id) {
                                if($key == 0) {
                                    $query->where('objecten.objsoort_id', '=', intval($id));
                                }
else {
                                    $query->orWhere('objecten.objsoort_id', '=', intval($id));
                                }
                            }
                        }
else {
                            $query->where('objecten.objsoort_id', '=', $objsoorten);
                        }


                        if($state == 'all') {
                            $query->where('objecten.obj_actief', '=', 0);
                            $query->orWhere('objecten.obj_actief', '=', 1);
                        }
elseif($state == 'active') {
                            $query->where('objecten.obj_actief', '=', 1);
                        }
elseif($state == 'inactive') {
                            $query->where('objecten.obj_actief', '=', 0);
                        }


                        $query->groupBy('objecten.obj_id');
                    })
                    ->
groupBy('objectsoort_attributen.attr_id')
                    ->
groupBy('objecten.obj_id')
                    ->
orderBy('objectsoort_attributen.objsoort_id')
                    ->
orderBy('objecten.obj_id')
                    ->
orderBy('attributen.attr_id')
                    ->
get();

        var_dump($query);        

        return ($query) ? $query : false;
    }



?>


De var dump:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
array(0) { }


De resultset van phpmyadmin:

Afbeelding

Alvast bedankt voor de gene die me kan helpen.
 
PHP hulp

PHP hulp

02/06/2024 11:54:51
 
Erwin H

Erwin H

31/07/2014 12:18:53
Quote Anchor link
Ik ken de quiry builder van Laraval niet, maar het lijkt me (...) dat er wel een manier moet zijn om de query te printen voor je hem uitvoert. Alleen dan kan je controleren wat er fout gaat.
Gewijzigd op 31/07/2014 12:19:11 door Erwin H
 
Victor G

Victor G

31/07/2014 12:21:56
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
select `objecten`.`obj_id`, `objectsoorten`.`objsoort_id`, `objectsoorten`.`objsoort_naam`, `objectspecificaties`.`objspec_waarde`, `objecten`.`obj_actief`, `attributen`.`attr_naam`, `attributen`.`attr_regex`
from `objecten`
inner join `objectsoorten` on `objectsoorten`.`objsoort_id` = `objecten`.`objsoort_id`
inner join `objectsoort_attributen` on `objectsoort_attributen`.`objsoort_id` = `objectsoorten`.`objsoort_id`
inner join `attributen` on `attributen`.`attr_id` = `objectsoort_attributen`.`attr_id`
inner join `objectspecificaties` on `objectspecificaties`.`attr_id` = `attributen`.`attr_id`
and `objectspecificaties`.`obj_id` = `objecten`.`obj_id`
where `objecten`.`obj_id` in (select `objecten`.`obj_id`
                              from `objecten`
                              inner join `objectsoorten` on `objectsoorten`.`objsoort_id` = `objecten`.`objsoort_id`
                              inner join `objectspecificaties` on `objectspecificaties`.`obj_id` = `objecten`.`obj_id`
                              where `objectspecificaties`.`objspec_waarde` LIKE '%%'
                              and `objecten`.`objsoort_id` = 2
                              and `objecten`.`obj_actief` = 1
                              group by `objecten`.`obj_id`)
group by `objectsoort_attributen`.`attr_id`, `objecten`.`obj_id`
order by `objectsoort_attributen`.`objsoort_id` asc,
`objecten`.`obj_id` asc,
`attributen`.`attr_id` asc


Dit is dus het probleem, er gaat niks fout. De query zoals hij hem output is prima. Alleen ik krijg geen resultset terug van de query builder.
 
Erwin H

Erwin H

31/07/2014 12:26:20
Quote Anchor link
Offtopic:
dus je hebt nu 44 regels code om een query van 19 regels te produceren. Ik begrijp die query builders niet....


Heb je deze query precies zo uitgevoerd in phpmyadmin?
Wat doet de foutafhandeling in php/laraval? Krijg je op de een of andere manier ergens meldingen?

Waarom heb je dit erin staan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
where `objectspecificaties`.`objspec_waarde` LIKE '%%'

Deze voorwaarde kan je weglaten, aangezien het geen enkele restrictie oplevert.
 
Victor G

Victor G

31/07/2014 12:30:40
Quote Anchor link
1) Ja zo heb ik hem uitgevoerd.
2) Op dit moment is het alleen of er wat in staat ja/nee ivm met testen
3) Snap ik, dat is wederom voor het testen. Daar komt later een waarde in te staan waar op gezocht kan worden, heb ik er extra uitgelaten.
 
Erwin H

Erwin H

31/07/2014 12:35:23
Quote Anchor link
Weet je zeker dat je een db connectie hebt en dat je de juiste database hebt geselecteerd?
 
Victor G

Victor G

31/07/2014 13:08:13
Quote Anchor link
Alles werkt, alleen die query niet. Dit is niet de eerste query die ik uitvoer hoor
 
Erwin H

Erwin H

31/07/2014 13:10:31
Quote Anchor link
Dan wordt het stap voor stap die query opbouwen en elke keer testen of de resultaten nog komen.
 
Victor G

Victor G

31/07/2014 13:16:48
Quote Anchor link
Maar ik zeg net dat er met de query niks mis is, alleen ik krijg geen resultset van de query builder. De query zelf en het result ervan is goed als ik de query in sql invoer.
 
 - Diov  -

- Diov -

31/07/2014 13:28:10
Quote Anchor link
Probeer is bij "Order By", erbij te schrijven of het gaat om ASC of DESC?
 
- SanThe -

- SanThe -

31/07/2014 13:36:45
Quote Anchor link
Voer je de query wel uit?
 
Wouter J

Wouter J

31/07/2014 13:41:03
Quote Anchor link
Error reporting aangezet? Alsnog de query minimaliseren in PHP, misschien doet de query builder wel iets fout.
 
Victor G

Victor G

31/07/2014 14:07:36
Quote Anchor link
@SanThe: Jep, de ->get() methode op het laatste doet dat.

@Wouter: Ja de query builder deed idd wat fout, ik ben er eindelijk achter:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php ->where('objectspecificaties.objspec_waarde', 'LIKE', '\'%%\''); ?>


Deze regel was de boosdoener, dit omdat de query builder er geen value in zag maakte hij er automatisch een ? van, en aangezien er geen ? voorkomt in een van deze rows kreeg ik dus een lege resultset terug. Ik heb deze er dus even uit gehaald. Had ik ook wel kunnen nagaan achteraf, in ieder geval bedankt voor de moeite iedereen!
 
Erwin H

Erwin H

31/07/2014 14:17:47
Quote Anchor link
Met andere woorden, de query die je poste was dus NIET de query die door de query builder werd opgebouwd, anders had je daar de fout al kunnen vinden. Handig, om niet te posten waar naar gevraagd wordt.....
 
Victor G

Victor G

31/07/2014 14:26:39
Quote Anchor link
Erwin H op 31/07/2014 14:17:47:
Met andere woorden, de query die je poste was dus NIET de query die door de query builder werd opgebouwd, anders had je daar de fout al kunnen vinden. Handig, om niet te posten waar naar gevraagd wordt.....


.. Ik kon niet zo snel vinden hoe je het omzette naar SQL. Ik werk ook niet vaak met zulke grote queries, dus heb hier ook geen reden toe gehad.
 
Wouter J

Wouter J

31/07/2014 14:59:42
Quote Anchor link
Quote:
Ik werk ook niet vaak met zulke grote queries, dus heb hier ook geen reden toe gehad.

Om een query te kunnen debuggen moet je altijd weten welke query er uitgevoerd wordt. Je had in dit geval dus wel een rede om deze query te weten.

En trouwens, het lijkt me sterk dat je er uberhaubt moeite voor hebt gedaan om te vinden hoe je het omzet tot SQL. Een simpele google zoektocht naar "laravel query builder dump query" gaf me als eerste resultaat: http://stackoverflow.com/a/18236656/1149495 Daar staat toch heel duidelijk het antwoord...
 
Erwin H

Erwin H

31/07/2014 15:02:33
Quote Anchor link
Daar zit dus het probleem. 99 van de 100 gevallen bij dit soort vragen, komt het omdat men ofwel instellingen niet goed heeft, of omdat de query die men denkt uit te voeren niet helemaal de query is die daadwerkelijk wordt uitgevoerd. Dat laatste is alleen te controleren door de exacte query te zien die wordt uitgevoerd. Vandaar ook de specifieke vraag, die stel ik natuurlijk niet zomaar.

Afijn, je hebt denk ik nu wel door dat je jezelf alleen maar in de voet schiet als je de bocht afsnijdt.
 
Victor G

Victor G

31/07/2014 15:55:24
Quote Anchor link
Ik snap je Erwin, ik ging er gewoon dom vanuit en dat is fout, maar goed. Het is opgelost, dank jullie.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

31/07/2014 19:33:41
Quote Anchor link
Wat ik me afvraag is of je het juiste resultaat krijgt, want je gebruikt group by zonder enige aggegrate functies.

Ook heb je een where in subquery waarin tabellen in de from clause staan die ook al in de from clause van hoofdquery staan.
Die subquery kan je dus gewoon weglaten, en de where clause van de subquery in de hoofdquery zetten, geeft hetzelfde resultaat maar is veel efficiënter.
 
Victor G

Victor G

31/07/2014 20:45:21
Quote Anchor link
Nee dat helaas niet, een object heeft meerdere attributen. Met de subquery bekijk ik welke object ids ik moet ophalen, en met de hoofd query haal ik deze allemaal op (met dus alle attributen per object id).

Of ik bekijk het verkeerd, dat kan natuurlijk ook.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

31/07/2014 22:16:44
Quote Anchor link
Bekijk deze query eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
SELECT
    id
FROM
    users
WHERE
    id IN (SELECT id FROM users WHERE id = 2)

Dit is namelijk wat jij doet in jouw query.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.