Hirdetés
Új hozzászólás Aktív témák
-
Speeedfire
félisten
"Na de nem pont az a lényege az ORM használatának, hogy előredefiniált táblarelációk vannak az idegen kulcsokon keresztül? Máskülönben hogyan határozódik meg a reláció?"
De pont az a lényege, megmondod a model relációban, hogyan kapcsolódik össze a 2 model (tábla) és az alapján állítja össze az eredményhalmazt neked.Ha használ idegen kucsot akkor gyorsabb, nem tudom mysql alatt van-e végrehajtási terv, de ott észre lehet venni, hogy hash join alapján a select cost-ja nagyon kicsi lesz. Míg reláció nélkül lassabb a select.
A legjobban úgy tudod ezt kideríteni, hogy megnézed a framework, hogyan használja fel ezeket a relációkat, ha bemegy a db-be és bekérdezi a constraint-eket, akkor bukod, ha nem kérdezi meg, csak használja, amit a user megadott neki akkor nem.
-
-
_ak_
addikt
Azt hiszem sikerült az eredeti elképzelésem.
'whereHas' kellett neki:
$dogs = Dog::where('gender', '=', "$search")
->orWhereHas('dogBreed', function ($query) use ($search)
{
$query->where('dog_breed', 'LIKE', "%$search%");
})
->orWhereHas('county', function ($query) use ($search)
{
$query->where('county', 'LIKE', "%$search%");
})
->orWhereHas('settlement', function ($query) use ($search)
{
$query->where('settlement', 'LIKE', "%$search%");
})
->get();Nem hittem volna, hogy ennyit fogok elidőzni már az elején.
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
Speeedfire
félisten
A kutya táblához is lehet kötni a usereket, attól függ mi a cél. A kutya tábla eredményhalmaza, vagy a users tábla.
A with szerintem biztos használható több táblára is. Azt már a model reláció résznél kell megadni, yii-ben ez a through kulcsszóval megy, laravel-re is biztos van hasonló.
Szerintem a Laraveles Eloquent az össze relációt felhozza neked.
-
Speeedfire
félisten
Nem ismerem a laravel-t, de a with opció mondja meg (legalábbis yii-ben így van), hogy mihez legyen kapcsolva és a model-ben írod le a kapcsolatot (inner, left, right stb.).
De egy egyszerű példa sql-ben.
table_a :
id : number
data: varchar2
table_b:
table_a_id : number
data: varchar2
select a.*
from table_a a
left join table_b b
on a.id = b.table_a_id
where a.data like '%valami%' or b.data like '%valami%'Összekötöd az a táblát a b táblával, ahol az a.id értéke megegyezik a b.table_a_id értékével. A feltétel részben pedig az a.data és a b.data mezőkre írsz like-ot. Az eredményhalmazban pedig kilistázza az összeset az a táblából.
Kereshetsz külön is, de akkor kell egy union all.
Új hozzászólás Aktív témák
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Samsung Galaxy Felhasználók OFF topicja
- OLED monitor topic
- Gyúrósok ide!
- Építő/felújító topik
- eBay-es kütyük kis pénzért
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- ASZTALI GÉP / ALKATRÉSZ beárazás
- Xiaomi 14T - nem baj, hogy nem Pro
- BestBuy topik
- További aktív témák...
- Octominer X8 Ultra + 5db Nvidia CMP 90HX
- Lenovo legion pro 5
- Samsung Galaxy S23 Ultra 5G 512GB, Kártyafüggetlen, 1 Év Garanciával
- HP Elitebook 840 G10 - i5-1345u (10 mag 12 logikai) 16 GB DDR5, 256 SSD, FHD IPS, Sureview, Garancia
- Üzletből, garanciával, Lg Gram 17Z90R- i7-1360P/16GB RAM/1TB SSD/17,3" /2560 x1600 QHD
- GYÖNYÖRŰ iPhone 13 mini 256GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS3405
- Bomba ár! Dell Latitude E7440 - i5-4GEN I 8GB I 500GB I 14" HD I HDMI I Cam I W10 I Gari!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- Xbox Series X 1 TB + kontroller 6 hó garancia, számlával!
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
.
![;]](http://cdn.rios.hu/dl/s/v1.gif)


