[Dbix-class] Many to many relationship searching

jakac jakac at iprom.si
Mon Jun 23 15:56:57 BST 2008


QWN0dWFsbHkgaW4gdGhpcyBjYXNlIEkgbXVzdCBhbHNvIHVzZSAiZGlzdGluY3QiIC4uLgoKc2Vs
ZWN0IERJU1RJTkNUIGEuKiBmcm9tIGFydGljbGVzIGEsIGNhdGVnb3JpZXMgYywgY2F0ZWdvcmll
c19hcnRpY2xlc19yZWwgcmVsCndoZXJlCmEuYXJ0aWNsZV9pZCA9IHJlbC5hcnRpY2xlX2lkCmFu
ZApjLmNhdGVnb3J5X2lkID0gcmVsLmNhdGVnb3J5X2lkCmFuZApjLnVzZXJfaWQgPSAnJHNvbWV1
c2VyJwpvcmRlciBieSBhLnRpdGxlOwoKCkNhbiBzb21lYm9keSBwbGVhc2UgInRyYW5zbGF0ZSIg
dGhpcyBpbnRvIERCSXg6OkNsYXNzPyB0aGFueCEKCgpqYWthYyB3cm90ZToKPiBIZWxsbywKPgo+
IEkgdHJpZWQgd2l0aDoKPiBteSAkYXJ0aWNsZXMgPSAkYy0+bW9kZWwoJ015REI6OkFydGljbGVz
JyktPnNlYXJjaCgKPiAgICAgeyAnY2F0ZWdvcmllcy51c2Vyc19pZCcgPT4gJGMtPnVzZXItPnVz
ZXJzX2lkIH0sCj4gICAgICAgICB7Cj4gICAgICAgICAgICAgam9pbiA9PiB7ICdjYXRlZ29yaWVz
X2FydGljbGVzX3JlbCcgPT4gJ2NhdGVnb3J5X2lkJyB9Cj4gICAgICAgICB9Cj4gICAgICk7Cj4K
PiBCdXQgbm93IEkgZ2V0IGEgbGlzdCBvZiA5OSBsaW5lcywgYWxsIG9mIHRoZW0gYXJlIGR1cGxp
Y2F0ZWQgbXVsdGlwbGUgCj4gdGltZXMgLi4uCj4KPiBUaGUgc3RhdGVtZW50IHRoYXQgaXMgZXhl
Y3V0ZWQgaXM6Cj4KPiBTRUxFQ1QgbWUuYXJ0aWNsZV9pZCwgbWUudGl0bGUsIG1lLmNvbnRlbnQg
RlJPTSBhcnRpY2xlcyBtZSBMRUZUIEpPSU4gCj4gY2F0ZWdvcmllc19hcnRpY2xlc19yZWwgY2F0
ZWdvcmllc19hcnRpY2xlc19yZWwgT04gKCAKPiBjYXRlZ29yaWVzX2FydGljbGVzX3JlbC5hcnRp
Y2xlX2lkID0gbWUuYXJ0aWNsZV9pZCApIExFRlQgSk9JTiAKPiBjYXRlZ29yaWVzIGNhdGVnb3J5
X2lkIE9OICggY2F0ZWdvcnlfaWQuY2F0ZWdvcnlfaWQgPSAKPiBjYXRlZ29yaWVzX2FydGljbGVz
X3JlbC5jYXRlZ29yeV9pZCApIFdIRVJFICggY2F0ZWdvcmllcy51c2Vyc19pZCA9ID8gKTsKPgo+
ICh1c2Vyc19pZCA9IDEpCj4KPiBUaGVyZSBzaG91bGQgYmUgb25seSA3IGxpbmVzIHNpbmNlIEkg
aGF2ZSBvbmx5IDcgYXJ0aWNsZXMgaW4gdGhlIAo+IGRhdGFiYXNlIHRoYXQgYXJlIGluIGNhdGVn
b3JpZXMKPiBieSB1c2VyIHdpdGggSUQgMS4uLgo+IENhbiBzb21lYm9keSBwbGVhc2Ugd3JpdGUg
dGhlIGV4YWN0IGNvZGUgaG93IHRoaXMgc2VhcmNoK3NvcnQgc2hvdWxkIAo+IGJlIGRvbmU/Cj4g
SSBzdHVkaWVkIG1hbnVhbCwgY29va2Jvb2sgYnV0IEkgc3RpbGwgZG9uJ3QgZ2V0IGl0IDooCj4K
PiBMaWtlIEkgc2FpZCAtIHRoZSBzdGF0ZW1lbnQgdGhhdCByZXR1cm5zIHdoYXQgSSBuZWVkIGlz
Ogo+IHNlbGVjdCBhLiogZnJvbSBhcnRpY2xlcyBhLCBjYXRlZ29yaWVzIGMsIGNhdGVnb3JpZXNf
YXJ0aWNsZXNfcmVsIHJlbAo+IHdoZXJlCj4gYS5hcnRpY2xlX2lkID0gcmVsLmFydGljbGVfaWQK
PiBhbmQKPiBjLmNhdGVnb3J5X2lkID0gcmVsLmNhdGVnb3J5X2lkCj4gYW5kCj4gYy51c2VyX2lk
ID0gJyRzb21ldXNlcicKPiBvcmRlciBieSBhLnRpdGxlOwo+Cj4gQnV0IEkgd2FudCB0byBkbyBp
dCB3aXRoIERCSXg6OkNsYXNzLi4uCj4KPgo+IFRoYW54IQo+Cj4KPgo+IFpiaWduaWV3IEx1a2Fz
aWFrIHdyb3RlOgo+PiAyMDA4LzYvMjMgamFrYWMgPGpha2FjQGlwcm9tLnNpPjoKPj4gICAKPj4+
IFNvcnJ5IGZvciBhIHR5cG8uLi4KPj4+Cj4+PiBfX1BBQ0tBR0VfXy0+YmVsb25nc190byggImFy
dGljbGVfaWQiLCAiTXlEQjo6QXJ0aWNsZXMKPj4+ICIsIHsgcmVjaXBpZW50c19pZCA9PiAicmVj
aXBpZW50c19pZCIgfSwgKTsKPj4+Cj4+PiBzaG91bGQgYmUKPj4+Cj4+PiBfX1BBQ0tBR0VfXy0+
YmVsb25nc190byggImFydGljbGVfaWQiLCAiTXlEQjo6QXJ0aWNsZXMiLCB7IGFydGljbGVfaWQg
PT4KPj4+ICJhcnRpY2xlX2lkIiB9LCApOwo+Pj4KPj4+IFN0aWxsLi4uIHRoZSBxdWVzdGlvbiBp
cyB0aGUgc2FtZSA6KQo+Pj4KPj4+Cj4+PiBqYWthYyB3cm90ZToKPj4+Cj4+PiBIZWxsbywKPj4+
Cj4+PiBJIGFtIGRldmVsb3BpbmcgYXBwbGljYXRpb24gdXNpbmcgQ2F0YWx5c3QgJiBQb3N0Z3Jl
cyBhbmQgSSBoYXZlIGEgc2ltcGxlCj4+PiBtYW55IHRvIG1hbnkKPj4+IHJlbGF0aW9uc2hpcCB0
aGF0IGluY2x1ZGVzIGZvbGxvd2luZyB0aHJlZSB0YWJsZXM6Cj4+Pgo+Pj4gLSBjYXRlZ29yaWVz
IChjYXRlZ29yeV9pZCBwcmltYXJ5IGtleSwgY2F0ZWdvcnlfbmFtZSwgdXNlcnNfaWQsIC4uLi4u
LikKPj4+IC0gYXJ0aWNsZXMgKGFydGljbGVfaWQgcHJpbWFyeSBrZXksIHRpdGxlLCBjb250ZW50
Li4uLi4uLikKPj4+IC0gY2F0ZWdvcmllc19hcnRpY2xlc19yZWwgKHJlbF9pZCBwcmltYXJ5IGtl
eSwgY2F0ZWdvcnlfaWQsIGFydGljbGVfaWQpCj4+Pgo+Pj4gTXkgc2NoZW1hIGluY2x1ZGVzOgo+
Pj4gIyBDQVRFR09SSUVTCj4+PiBfX1BBQ0tBR0VfXy0+aGFzX21hbnkoICJjYXRlZ29yaWVzX2Fy
dGljbGVzX3JlbCIsCj4+PiAiTXlEQjo6Q2F0ZWdvcmllc0FydGljbGVzUmVsIiwgIHsgImZvcmVp
Z24uY2F0ZWdvcnlfaWQiID0+Cj4+PiAic2VsZi5jYXRlZ29yeV9pZCIgfSwgKTsKPj4+Cj4+PiAj
IEFSVElDTEVTCj4+PiBfX1BBQ0tBR0VfXy0+aGFzX21hbnkoICJjYXRlZ29yaWVzX2FydGljbGVz
X3JlbCIsCj4+PiAiTXlEQjo6Q2F0ZWdvcmllc0FydGljbGVzUmVsIiwgeyAiZm9yZWlnbi5hcnRp
Y2xlX2lkIiA9PiAic2VsZi5hcnRpY2xlX2lkIgo+Pj4gfSwgKTsKPj4+Cj4+PiAjIENBVEVHT1JJ
RVNfQVJUSUNMRVNfUkVMCj4+PiBfX1BBQ0tBR0VfXy0+YmVsb25nc190byggImNhdGVnb3J5X2lk
IiwgIk15REI6OkNhdGVnb3JpZXMiLCAgeyBjYXRlZ29yeV9pZAo+Pj4gPT4gImNhdGVnb3J5X2lk
IiB9LCk7Cj4+PiBfX1BBQ0tBR0VfXy0+YmVsb25nc190byggImFydGljbGVfaWQiLCAiTXlEQjo6
QXJ0aWNsZXMiLCB7IHJlY2lwaWVudHNfaWQgPT4KPj4+ICJyZWNpcGllbnRzX2lkIiB9LCApOwo+
Pj4KPj4+Cj4+PiBOb3cgSSB3YW50IHRvIGdldCBhIGxpc3Qgb2YgYWxsIGFydGljbGVzIHRoYXQg
YXJlIGluIGNhdGVnb3JpZXMgdGhhdCBhcmUKPj4+IG93bmVkIGJ5Cj4+PiBjZXJ0YWluIHVzZXIg
YW5kIG9yZGVyIHRoZW0gYnkgc29tZSBmaWVsZC4uLiBVc2luZyB0aGUgcGxhaW4gU1FMIEkgd291
bGQKPj4+IG5vcm1hbGx5IHdyaXRlOgo+Pj4KPj4+IHNlbGVjdCBhLiogZnJvbSBhcnRpY2xlcyBh
LCBjYXRlZ29yaWVzIGMsIGNhdGVnb3JpZXNfYXJ0aWNsZXNfcmVsIHJlbAo+Pj4gd2hlcmUKPj4+
IGEuYXJ0aWNsZV9pZCA9IHJlbC5hcnRpY2xlX2lkCj4+PiBhbmQKPj4+IGMuY2F0ZWdvcnlfaWQg
PSByZWwuY2F0ZWdvcnlfaWQKPj4+IGFuZAo+Pj4gYy51c2VyX2lkID0gJyRzb21ldXNlcicKPj4+
IG9yZGVyIGJ5IGEudGl0bGU7Cj4+Pgo+Pj4gKGlmIEkgd2FudCB0byBvcmRlciBieSB0aXRsZSkK
Pj4+Cj4+PiBTbyBub3cgbXkgcXVlc3Rpb24gaXMgLSBob3cgdG8gZG8gdGhpcyB1c2luZyBEQkl4
OjpDbGFzcz8KPj4+Cj4+PiAgICAgCj4+Cj4+IFJlYWQgcGVybGRvYyBEQkl4OjpDbGFzczo6TWFu
dWFsOjpKb2luaW5nCj4+Cj4+IFNvbWV0aGluZyBsaWtlIHRoYXQgc2hvdWxkIHdvcms6Cj4+Cj4+
ICRhcnRpY2xlc19ycy0+c2VhcmNoKHsgLi4uIH0geyBqb2luID0+IHsgY2F0ZWdvcmllc19hcnRp
Y2xlc19yZWwgPT4KPj4gY2F0ZWdvcnlfaWQgfSB9KQo+Pgo+Pgo+PiBBbmQgYnkgdGhlIHdheSBJ
IHdvdWxkIGNhbGwgdGhlIHJlbGF0aW9uIGNhdGVnb3J5IC0gdG8gZGlmZmVyIGl0IGZyb20KPj4g
dGhlIG5hbWUgb2YgdGhlIGNvbHVtbjoKPj4gIF9fUEFDS0FHRV9fLT5iZWxvbmdzX3RvKCAiYXJ0
aWNsZSIsICJNeURCOjpBcnRpY2xlcyIsIHsgYXJ0aWNsZV9pZCA9Pgo+PiAgImFydGljbGVfaWQi
IH0sICk7Cj4+Cj4+IENoZWVycywKPj4gWmJpZ25pZXcKPj4KPj4KPj4gICAKPj4+IFRoYW5rIHlv
dSEKPj4+Cj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+Pj4gX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4+IExpc3Q6IGh0dHA6Ly9s
aXN0cy5zY3N5cy5jby51ay9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vZGJpeC1jbGFzcwo+Pj4g
SVJDOiBpcmMucGVybC5vcmcjZGJpeC1jbGFzcwo+Pj4gU1ZOOiBodHRwOi8vZGV2LmNhdGFseXN0
LnBlcmwub3JnL3JlcG9zL2Jhc3QvREJJeC1DbGFzcy8KPj4+IFNlYXJjaGFibGUgQXJjaGl2ZToK
Pj4+IGh0dHA6Ly93d3cuZ3Jva2Jhc2UuY29tL2dyb3VwL2RiaXgtY2xhc3NAbGlzdHMucmF3bW9k
ZS5vcmcKPj4+Cj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwo+Pj4gTGlzdDogaHR0cDovL2xpc3RzLnNjc3lzLmNvLnVrL2NnaS1iaW4vbWFpbG1hbi9s
aXN0aW5mby9kYml4LWNsYXNzCj4+PiBJUkM6IGlyYy5wZXJsLm9yZyNkYml4LWNsYXNzCj4+PiBT
Vk46IGh0dHA6Ly9kZXYuY2F0YWx5c3QucGVybC5vcmcvcmVwb3MvYmFzdC9EQkl4LUNsYXNzLwo+
Pj4gU2VhcmNoYWJsZSBBcmNoaXZlOgo+Pj4gaHR0cDovL3d3dy5ncm9rYmFzZS5jb20vZ3JvdXAv
ZGJpeC1jbGFzc0BsaXN0cy5yYXdtb2RlLm9yZwo+Pj4KPj4+ICAgICAKPj4KPj4KPj4KPj4gICAK
PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCj4gTGlzdDogaHR0cDovL2xpc3RzLnNjc3lzLmNvLnVrL2NnaS1iaW4vbWFp
bG1hbi9saXN0aW5mby9kYml4LWNsYXNzCj4gSVJDOiBpcmMucGVybC5vcmcjZGJpeC1jbGFzcwo+
IFNWTjogaHR0cDovL2Rldi5jYXRhbHlzdC5wZXJsLm9yZy9yZXBvcy9iYXN0L0RCSXgtQ2xhc3Mv
Cj4gU2VhcmNoYWJsZSBBcmNoaXZlOiBodHRwOi8vd3d3Lmdyb2tiYXNlLmNvbS9ncm91cC9kYml4
LWNsYXNzQGxpc3RzLnJhd21vZGUub3JnCi0tLS0tLS0tLS0tLS0tIG5leHQgcGFydCAtLS0tLS0t
LS0tLS0tLQpBbiBIVE1MIGF0dGFjaG1lbnQgd2FzIHNjcnViYmVkLi4uClVSTDogaHR0cDovL2xp
c3RzLnNjc3lzLmNvLnVrL3BpcGVybWFpbC9kYml4LWNsYXNzL2F0dGFjaG1lbnRzLzIwMDgwNjIz
LzkxNTkwZjgyL2F0dGFjaG1lbnQtMDAwMS5odG0K


More information about the DBIx-Class mailing list