abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:55 | IT novinky

    Nejvyšší správní soud (NSS) podruhé zrušil pokutu za únik zákaznických údajů z e-shopu Mall.cz. Incidentem se musí znovu zabývat Úřad pro ochranu osobních údajů (ÚOOÚ). Samotný únik ještě neznamená, že správce dat porušil svou povinnost zajistit jejich bezpečnost, plyne z rozsudku dočasně zpřístupněného na úřední desce. Úřad musí vždy posoudit, zda byla přijatá opatření přiměřená povaze rizik, stavu techniky a nákladům.

    Ladislav Hagara | Komentářů: 0
    včera 18:44 | Komunita

    Organizace Free Software Foundation Europe (FSFE) zrušila svůj účet na 𝕏 (Twitter) s odůvodněním: "To, co mělo být původně místem pro dialog a výměnu informací, se proměnilo v centralizovanou arénu nepřátelství, dezinformací a ziskem motivovaného řízení, což je daleko od ideálů svobody, za nimiž stojíme". FSFE je aktivní na Mastodonu.

    Ladislav Hagara | Komentářů: 13
    včera 17:55 | IT novinky

    Paramount nabízí za celý Warner Bros. Discovery 30 USD na akcii, tj. celkově o 18 miliard USD více než nabízí Netflix. V hotovosti.

    Ladislav Hagara | Komentářů: 3
    včera 13:22 | IT novinky

    Nájemný botnet Aisuru prolomil další "rekord". DDoS útok na Cloudflare dosáhl 29,7 Tbps. Aisuru je tvořený až čtyřmi miliony kompromitovaných zařízení.

    Ladislav Hagara | Komentářů: 4
    včera 12:11 | Nová verze

    Iced, tj. multiplatformní GUI knihovna pro Rust, byla vydána ve verzi 0.14.0.

    Ladislav Hagara | Komentářů: 2
    včera 05:22 | Komunita

    FEX, tj. open source emulátor umožňující spouštět aplikace pro x86 a x86_64 na architektuře ARM64, byl vydán ve verzi 2512. Před pár dny FEX oslavil sedmé narozeniny. Hlavní vývojář FEXu Ryan Houdek v oznámení poděkoval společnosti Valve za podporu. Pierre-Loup Griffais z Valve, jeden z architektů stojících za SteamOS a Steam Deckem, v rozhovoru pro The Verge potvrdil, že FEX je od svého vzniku sponzorován společností Valve.

    Ladislav Hagara | Komentářů: 0
    včera 03:22 | Nová verze

    Byla vydána nová verze 2.24 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    7.12. 15:11 | IT novinky

    Společnost Proton AG stojící za Proton Mailem a dalšími službami přidala do svého portfolia online tabulky Proton Sheets v Proton Drive.

    Ladislav Hagara | Komentářů: 6
    6.12. 15:55 | Komunita

    O víkendu (15:00 až 23:00) probíha EmacsConf 2025, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat ji lze na stránkách konference. Záznamy budou k dispozici přímo z programu.

    Ladislav Hagara | Komentářů: 1
    6.12. 15:44 | Komunita

    Provozovatel internetové encyklopedie Wikipedia jedná s velkými technologickými firmami o uzavření dohod podobných té, kterou má s Googlem. Snaží se tak zpeněžit rostoucí závislost firem zabývajících se umělou inteligencí (AI) na svém obsahu. Firmy využívají volně dostupná data z Wikipedie k trénování jazykových modelů, což zvyšuje náklady, které musí nezisková organizace provozující Wikipedii sama nést. Automatické programy

    … více »
    Ladislav Hagara | Komentářů: 31
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (48%)
     (19%)
     (17%)
     (22%)
     (15%)
     (24%)
     (16%)
     (18%)
    Celkem 444 hlasů
     Komentářů: 18, poslední 2.12. 18:34
    Rozcestník

    Dotaz: Laravel - razeni podle vnorenych vztahu

    31.5.2024 16:02 Petr
    Laravel - razeni podle vnorenych vztahu
    Přečteno: 955×
    Dobry den,

    mam nasledujici modely:
    Country hasMany cities()
    City    hasMany streets()
    Street  hasMany houses()
    
    House  belongsTo street()
    Street belongsTo city()
    City   belongsTo country()
    
    A ted se snazim do modelu Country pridat metodu houses(), ktera mi vrati pole vsech House modelu v dane Country.

    Dopracoval jsem se k tomuto:
    public function houses(): Builder
    {
        $houses = House::whereHas('street', function($query) {
            $query->whereHas('city', function($query) {
                $query->where('cities.country_id', $this->id);
            });
        });
        
        return $houses;
    }
    
    Coz mi sice funguje, ale za boha nejsem schopny prijit na to, jak ty vracene modely nejprve seradit podle cities.name, potom podle streets.name a nakonec podle houses.number

    Dekuji za pripadnou pomoc

    Odpovědi

    31.5.2024 16:17 Petr
    Rozbalit Rozbalit vše Re: Laravel - razeni podle vnorenych vztahu
    Ja se picnu! Vzdycky se mi rozsviti, az kdyz se zeptam.

    Takze reseni je napr. toto:
    public function houses(): Builder
    {
        $houses = House::leftJoin('streets', function($join) {
            $join->on('houses.street_id', 'streets.id')->leftJoin('cities', function($join) {
                $join->on('streets.city_id', 'cities.id')->where('cities.country_id', $this->id);
            });
        })
        ->orderBy('cities.name')
        ->orderBy('streets.name')
        ->orderBy('houses.number');
        return $houses;
    }
    
    Omlouvam se, za zbytecny dotaz.
    31.5.2024 16:30 Petr
    Rozbalit Rozbalit vše Re: Laravel - razeni podle vnorenych vztahu
    Takhle je to mozna jeste lepsi (vzhledem k vyslednemu SQL dotazu):
    public function houses(): Builder
    {
        $houses = House::leftJoin('streets', function($join) {
            $join->on('houses.street_id', 'streets.id');
        })
        ->leftJoin('cities', function($join) {
            $join->on('streets.city_id', 'cities.id');
        })
        ->where('cities.country_id', $this->id)
        ->orderBy('cities.name')
        ->orderBy('streets.name')
        ->orderBy('houses.number');
        
        return $houses;
    }
    

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.