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 04:22 | IT novinky

    Společnost PINE64 stojící za telefony PinePhone nebo notebooky Pinebook publikovala na svém blogu srpnový souhrn novinek. Kvůli nedostatečnému zájmu byla ukončena výroba telefonů PinePhone Pro.

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

    Po pěti měsících vývoje byla vydána nová verze 0.15.1 programovacího jazyka Zig (GitHub, Wikipedie). Verze 0.15.0 byla přeskočena. Přispělo 162 vývojářů. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 21:55 | Komunita

    Před sedmi lety společnost Valve představila fork projektu Wine s názvem Proton umožňující v Linuxu přímo ze Steamu hrát počítačové hry do té doby běžící pouze ve Windows. Aktuální přehled podporovaných her na stránkách ProtonDB

    Ladislav Hagara | Komentářů: 0
    včera 14:55 | IT novinky

    Společnost DuckDuckGo rozšířila svůj AI chat Duck.ai o GPT-5 mini (𝕏). Duck.ai umožňuje anonymní přístup bez vytváření účtů k několika modelům umělé inteligence. Aktuálně k GPT-4o mini, GPT-5 mini, Llama 4 Scout, Claude Haiku 3.5 a Mistral Small 3.

    Ladislav Hagara | Komentářů: 5
    včera 12:44 | Bezpečnostní upozornění

    Marek Tóth v příspěvku DOM-based Extension Clickjacking: Data ve správcích hesel v ohrožení na svém blogu popsal novou clickjacking techniku s několika variantami útoků a otestoval ji proti 11 správcům hesel. Výsledkem bylo nalezení několika 0-day zranitelností, které mohly ovlivnit uložená data desítek milionů uživatelů. Jedno kliknutí kdekoliv na webové stránce kontrolované útočníkem umožňovalo ukrást uživatelská data ze

    … více »
    Ladislav Hagara | Komentářů: 1
    20.8. 21:11 | IT novinky

    Na dnešní akci Made by Google 2025 (YouTube) byly představeny telefony Pixel 10 s novým čipem Google Tensor G5 a novými AI funkcemi, hodinky Pixel Watch 4 a sluchátka Pixel Buds 2a.

    Ladislav Hagara | Komentářů: 25
    20.8. 14:11 | Nová verze

    The Document Foundation oznámila vydání nové major verze 25.8 svobodného kancelářského balíku LibreOffice. Podrobný přehled nových vlastností i s náhledy v poznámkách k vydání (cs) a také na Youtube a PeerTube.

    Ladislav Hagara | Komentářů: 16
    20.8. 04:00 | Nová verze

    Zeek (Wikipedie), původně Bro, byl vydán v nové major verzi 8.0.0. Jedná se o open source platformu pro analýzu síťového provozu. Vyzkoušet lze online.

    Ladislav Hagara | Komentářů: 0
    19.8. 23:55 | Zajímavý software

    Emacs na stříhání videa? Klidně.

    Ladislav Hagara | Komentářů: 7
    19.8. 15:55 | Nová verze

    Byl vydán Mozilla Firefox 142.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 142 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (76%)
     (10%)
     (5%)
     (2%)
     (7%)
     (0%)
    Celkem 41 hlasů
     Komentářů: 6, poslední včera 13:35
    Rozcestník

    Dotaz: Laravel - razeni podle vnorenych vztahu

    31.5.2024 16:02 Petr
    Laravel - razeni podle vnorenych vztahu
    Přečteno: 891×
    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.