[laravel] Query Builder get method werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior Front-end Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte websites die in eigen beheer zijn. In onze vestiging in Nederweert zit onze development afdeling en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé Medior Front-end Developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het uitwerken van designs tot functionele layouts Je

Bekijk vacature »

Front-end Developer

Dit ga je doen Het onderhouden, ontwikkelen en testen van front-end software van diverse klant- en medewerkersapplicaties; Het ontwikkelen van maatwerk front-end oplossingen in Vue.js en participeren in een scrumteam; Mede-verantwoordelijk voor het begeleiden en coachen van drie junior front-end developers; Verantwoordelijk voor code-reviews en het opstellen van de juiste documentatie zoals userstories en API ontwerp; Participeren in diverse projecten t.b.v. optimalisatie van diverse applicaties; Het opzetten van API koppelingen met externe applicaties. Hier ga je werken Betreffende organisatie is gevestigd in de regio van Swifterbant en is al ruim 20 jaar lang bedreven in het ontwikkelen en aanbieden van

Bekijk vacature »

PHP Developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

Front-end Developer - Juniorfunctie

Functie omschrijving Ben jij op zoek naar een uitdagende baan als front-end developer, in een informele werksfeer, waar jij echt het verschil kan maken? Wil jij graag werken voor een bedrijf dat sportiviteit en een open communicatie, hoog in het vaandel heeft staan? Dan hebben wij de perfecte vacature voor je! Voor een klein bedrijf in Rijen dat gespecialiseerd is in het omzetten van digitale woningtekeningen naar managementinformatie, zijn wij per direct op zoek naar een allround front-end developer. Jouw werkzaamheden zien er als volgt uit: Ja gaat nauw samenwerken met de back-end developer. De database structuur is volledig gebouwd

Bekijk vacature »

Software Developer / .NET / Azure

Dit ga je doen Als Lead .NET Software Developer zal je je bezig houden met: Het vertalen van bedrijfswensen naar een technische roadmap; Uitwerken van nieuwe architectuur / designs; Het team aansturen en motiveren; Toezien op de kwaliteit van de code; Mee ontwikkelen van nieuwe features en applicaties. Hier ga je werken Deze organisatie is op dit momenteel marktleider in het ontwikkelen van productielijnen voor de voedselindustrie en heeft een wereldwijd klantnetwerk. Binnen deze organisatie is het team van software developers dagelijks bezig met het ontwikkelen van maatwerk oplossingen om alle productiemachines aan te sturen, maar ook bedrijf kritische applicaties

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een ambitieuze werkgever in regio Tilburg waar jij volledig de mogelijkheid krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je gaat projecten gedurende het hele proces begeleiden. Je sluit aan bij afspraken met klanten om hun processen helder te krijgen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt aan nieuwe softwareoplossingen die de logistieke processen verbeteren of vernieuwen; Je houdt je bezig met het ontwikkelen van

Bekijk vacature »

Software developer - senior

Functie omschrijving Voor een echt softwarebedrijf in omgeving Gouda zijn wij op zoek naar versterking voor de afdeling Software Development! Ben jij op zoek naar een werkgever waar meerdere software developers werken aan interessante projecten? Ben jij op zoek naar een werkgever waar je onderdeel wordt van een team dat echt passie heeft voor het ontwikkelen van software? Dan ben je hier aan het juiste adres! Als softwareontwikkelaar kom je terecht bij een onafhankelijk, door kwaliteit gedreven, doortastend en daarbij op een Agile wijze werkend bedrijf. Ben jij een expert in het vertalen van Componenten van Functionaliteit naar Business lagen?

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Voor een opdrachtgever in omgeving Delft zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

Medior PHP Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte website die in eigen beheer zijn. In onze vestiging in Nederweert zitten onze development afdelingen en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé PHP/Back-end developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het bedenken van nieuwe functionaliteiten Het verbeteren van het

Bekijk vacature »

Embedded Developer C++

Functie omschrijving Ben jij op zoek naar een leuke uitdaging als Embedded Developer, zoek dan niet verder! Voor een leuke opdrachtgever in omgeving Rotterdam zijn wij op zoek naar een Embedded Developer die graag met Embedded Devices werkt. Je zult verantwoordelijk worden voor het ontwikkelen en onderhouden van diverse producten. Jouw specialisatie ligt op het vlak van software, hardware en back-end. Dit bedrijf is gespecialiseerd in het ontwerpen van software voor een unieke industrie. Wil jij betrokken worden bij een proces dat loopt van ontwikkeling tot installatie? Waarbij je bezig zult zijn met perfecte systemen die geleverd worden aan binnen

Bekijk vacature »

Senior Lead Front End Developer

Functieomschrijving Voor Stichting Waternet zijn wij op zoek naar een senior Lead Front End Developer. Binnen het DevOps team Online zijn we op zoek naar een Senior Lead Front End developer met kennis van toegankelijkheid. Deze developer zal zich bezighouden met development van webpaginas die in verbinding staan met systemen uit het back office. Taken Ontwerpen, ontwikkelen, implementeren, documenteren en beheren van webapplicaties in een Azure-omgeving Debuggen, analyseren en oplossen van problemen in de OTAPomgevingen Je participeert in het DevOpsTeam Online voor het verder uitwerken en implementeren van gebruikerswensen Je bent betrokken bij toegankelijkheid audits en het implementeren van WCAG

Bekijk vacature »

Junior PHP Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

Bekijk vacature »

Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

Bekijk vacature »

Database developer - SQL

Functie omschrijving Kan jij goed overweg met complexe algoritmes en het schrijven van procedures in T-SQL? Heb jij al wat ervaring opgedaan met SQL en vind je het tijd voor de volgende stap? Lees dan snel verder! Dit software bedrijf, gespecialiseerd in de ontwikkeling van logistieke software, is op zoek naar een ervaren SQL database developer. Jouw werkzaamheden zullen onder andere bestaan uit: Je sluit aan bij meetings en brengt het gehele logistieke proces in kaart. Vervolgens ga je als lead developer aan de slag om de klus te klaren. Je stuurt het junior developer team en helpt, zo nodig,

Bekijk vacature »

App Developer

Samen werken aan een gezonder Nederland en toekomstbestendige zorg voor iedereen. Dat is de impact die jij kan hebben als App Developer bij VGZ. Wil jij een bijdrage leveren aan een maatschappij waarin iedereen zich thuis voelt? Bekijk dan de vacature. Uit onderzoek van Computable is VGZ verkozen tot ‘beste niet-ICT werkgever voor ICT’ers van Nederland’ Hoe ook jij het verschil maakt Als App developer werk jij aan het belangrijkste communicatiekanaal van VGZ, namelijk de App! Als App developer bij VGZ maak je onderdeel uit van een van onze App-teams. Met een goede mix van kennis en ervaring zet je

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

29/03/2024 14:15:27
 
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.