[laravel] Query Builder get method werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back end developer PHP

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 25 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Fullstack Webdeveloper .NET Azure Big Data SaaS

Bedrijfsomschrijving Deze klant van ons is recentelijk onderdeel geworden van een grote moederorganisatie, ze zijn dé partij als het gaat om software maken voor ambitieuze ondernemers, ze maken maatwerk software. Vanuit het fantastisch vormgegeven hightech gebouw te Rotterdam centrum werken ze met zo'n 40 medewerkers aan hoogwaardige software gericht op financiële data, betaalinformatie, maar ook backoffice software. De software wordt webbased, desktop en mobile aangeboden en er worden zeer moderne ontwikkeltechnieken toegepast. Je moet dan denken aan patroonherkenning, Big Data, Machine Learning en OCR. Als Developer, ongeacht je niveau, ga je hier te maken krijgen met de allerleukste kant van

Bekijk vacature »

Front end developer

Functie Het team bestaat uit User Experience designers, Data Scientists en Software Engineers met passie voor hun vak. De consultants en ontwikkelaars werken volgens de Design Thinking methode waarbij de eerste stappen van ontwerp en ontwikkeling zullen samenkomen in een proof of concept. Nadat is vastgesteld dat de oplossing voldoet aan de belangrijkste behoeftes worden producten of services gevalideerd door middel van korte iteraties. Hiermee zorgen ze ervoor dat het werk voldoet aan de technische vereisten en gebruikersbehoefte. Door het inzetten van de nieuwste technologieën die toekomstbestendig zijn weten ze klanten omver te blazen. Ook geven en organiseren ze veel

Bekijk vacature »

Junior .NET developer

Functie Om half 9 kom jij binnen en pak jij als eerst natuurlijk een bakje koffie of thee. Vervolgens ga jij je voorbereiden op de stand-up van kwart voor 9. Zijn er bijvoorbeeld dingen waar jij nog tegen aan loopt? Of is er nog code die getest of gereviewd moet worden? Vervolgens starten jullie met de stand up en na de stand up zoeken jullie elkaar op en gaan jullie aan de slag. Als team met 6 developers werken jullie in drie wekelijkse sprints. Het einde van een sprint is altijd op een donderdag zodat jullie op vrijdag de demo

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 »

.NET developer

Functie Voor jou als junior .NET ontwikkelaar staat er een flinke uitdaging klaar bij dit bedrijf waar jij veel van kan gaan leren. Zo willen zij een flinke uitbreiding doen op het webbased gedeelte dat zij nu hebben en willen zij het standaard deel gaan moderniseren. Jouw team is dan ook op zoek naar een junior .NET ontwikkelaar die het leuk vindt om op basis van research en development aan de slag te gaan. Jouw mening telt mee als het gaat om hoe en met wat deze applicaties gebouwd en herschreven gaan worden. Jouw functie bij dit bedrijf gaat dan

Bekijk vacature »

Front-end Developer

Functie omschrijving Wij zijn op zoek naar een Front-end Developer! Als Front-end Developer binnen dit softwarebedrijf ga je de frontends voor zowel je eigen interne projecten als die voor klanten opzetten, onderhouden en uitbreiden. Je zet ideeën om naar mooie successen voor de klanten. Dat is in een notendop wat je gaat doen! Wat kun je verwachten? Je werkt aan de doorontwikkeling van bestaande maatwerkapplicaties. Bijvoorbeeld wanneer de klant de applicatie wil uitbreiden met een nieuwe feature; Samen met het team van backenders en desginers zet je nieuwe ideeën van klanten om naar mooie oplossingen; Je werkt met verschillende frameworks.

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 »

Software Developer C# - Deventer

Software Developer C# – Deventer Bijdragen aan de toekomst van het onderwijs! Ben jij op zoek naar een dynamische omgeving waar vol enthousiasme wordt gewerkt aan software voor interactieve dashboard- en analysetoepassingen ter verbetering van het onderwijs? Dan zijn wij het bedrijf voor jou! TIG is een bedrijf met een informele en ondernemende werksfeer, waarbij goede ideeën snel leiden tot concrete acties. Wij zijn een software ontwikkelorganisatie en focussen ons op het ontwikkelen en implementeren van oplossingen voor het leveren van managementinformatie, datavisualisatie en analyses voor het onderwijs. Met onze dashboard- en analyseoplossingen zetten scholen gegevens om naar betekenisvolle informatie.

Bekijk vacature »

Senior developer (PHP en VB.NET)

Functie De development afdeling bestaat uit 2 teams. Het productteam (10 developers) is verantwoordelijk voor verschillende applicaties met als doel om zoveel mogelijk te automatiseren en uit te werken tot standaard software. Met diverse Solutions Architecten en ervaren developers denken ze voortdurend mee met hun klanten en bouwen ze de basis van het uiteindelijke maatwerk dat wordt geleverd. Hiernaast hebben ze een maatwerk/projectteam. Dit team bestaat momenteel uit 8 developers (junior tot senior) en is verantwoordelijk voor het maatwerk in hun klantprojecten. Momenteel zijn ze op zoek naar een senior developer die aan de slag gaat in het productteam. Hierin

Bekijk vacature »

Randstad B.V.- Freelance Senior Fullstack Develope

Startdatum: 01.05.2023 Richttarief: € 75,00 - €85,00 Duur van de opdracht: 1 jaar Uren per week: 40 Werkmodel: Hybride, dinsdag en donderdag aanwezig op kantoor in Diemen en meer wanneer dit nodig is. Functieomschrijving: De ideale kandidaat gaat onderdeel uitmaken van een junior team binnen het foundation domein. Vanuit het foundation domein werkt dit team samen met andere foundation teams en teams uit het online domein (professionals B2B en B2C) voor het bouwen en integreren van HRM functionaliteiten (verlof en benefits) in de persoonlijke portal van Interim Professionals. Er is meer backend werk dan frontend, maar kandidaat moet beiden leuk

Bekijk vacature »

Senior Front-end Developer

Dit ga je doen Met behulp van diverse programmeertalen ontwikkelen van Front-end software; Het begeleiden van het front-end team; Het oplossen van incidenten; Het bijhouden van een backlog; Je hebt een actieve bijdrage in de wekelijkse overleggen met de omliggende teams; Je houdt trends bij en adviseert het management hierover waar nodig; Helder communiceren met de stakeholders om hen zo mee te nemen in projecten en laten inzien wat de duur en toegevoegde waarde van bepaalde projecten is. Hier ga je werken Deze organisatie heeft circa 40 miljoen bezoekers per maand en heeft innovatie hoog in het vaandel staan. Het

Bekijk vacature »

Senior Front-end developer

Functie Als front-end developer ga je aan de slag voor verschillende klanten, waarbij veel rekening wordt gehouden met waar je woont (dit is altijd binnen het uur), en word er gezocht naar een organisatie die past bij jou. Zowel qua persoonlijke ambities als de technische aansluiting. De opdrachten duren gemiddeld 1 à 2 jaar maar dit hangt ook af van je wensen. Je werkt in een teamverband voor een klant en zult nauw samenwerken met zowel eigen collega’s als die bij de klant werkzaam zijn. Ze zijn op zoek naar een technische front-end developer die ruime ervaring heeft in één

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 »

.NET Developer C#

Dit ga je doen Als developer nieuwe gave features implementeren; Werken met technieken als C# .NET en (REST) API's webservices; Ontwikkelen van koppelingen middels API's; 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 Als C# .NET Developer wordt je verantwoordelijk voor het ontwikkelen van applicaties voor belangrijkste product van deze organisatie. Dit product is een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Er

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

22/12/2024 03:47:24
 
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.