Hirdetés
- Telekom mobilszolgáltatások
- Csavard fel a szőnyeget! - Xiaomi Vacuum 5 teszt
- Samsung Galaxy S25 - végre van kicsi!
- Az AI miatt drágulnak a mobilok is
- Google Pixel topik
- Samsung Galaxy Watch6 Classic - tekerd!
- Amazfit Bip 6 - jót olcsón
- Bemutatkozott a Poco X7 és X7 Pro
- One mobilszolgáltatások
- Redmi Note 14 Pro+ 5G - a tizenhármas átka
Ú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
- Ryzen7 5700x/ RTX3080/ 32GB DDR4/ 1TB SSD alapú konfig/ garancia/ ingyen foxpost
- Samsung Watch 8 Classic (46mm E-sim) garanciával
- Bomba ár! Lenovo ThinkPad L470 - i5-6GEN I 8GB I 128GB SSD I 14" FHD I Cam I W11 I Garancia!
- Bomba ár! Lenovo ThinkPad E570 - i3-7GEN I 8GB I 180GB SSD I HDMI I 15,6" FHD I Cam I W11 I Gari!
- Bomba ár! HP Elitebook 8770W - i7-3540M I 8GB I 256SSD + 750HDD I Nvidia I W10 I Cam I Garancia!
- AKCIÓ! Dell Latitude 5455 14 FHD+ üzleti notebook - Qualcomm X Plus X1 16GB DDR5 512GB SSD W11
- REFURBISHED - DELL Universal Dock D6000 (452-BCYH) (DisplayLink)
- Update 11.13. Dell Latitude Precision Üzleti gépek, 2-in-1 gépek, 8-12. gen.
- GYÖNYÖRŰ iPhone 13 mini 128GB Blue -1 ÉV GARANCIA -Kártyafüggetlen, MS3884, 100% Akkumulátor
- BESZÁMÍTÁS! Xiaomi Mi 2K 27 165Hz IPS QHD 1ms monitor garanciával hibátlan működéssel
Á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)


