You wrote good solution, but if I need more than one model (HABTM)
where i can search for results, like:
Advert HABTM Option
Advert HABTM Exta
example:
[0] => Array
(
[Advert] => Array
(
[id] => 2
[code] => 54
[created] => 2008-12-19 11:17:30
)
[Option] => Array
(
[0] => Array
(
[id] => 1
[advert_id] => 2
[option] => 3
)
[1] => Array
(
[id] => 2
[advert_id] => 2
[option] => 4
)
)
[Extra] => Array
(
[0] => Array
(
[id] => 5
[advert_id] => 2
[option] => 8
)
[1] => Array
(
[id] => 7
[advert_id] => 2
[option] => 4
)
)
)
How about that?
On Dec 24 2008, 2:04 pm, Smelly_Eddie <[email protected]> wrote:
> dev if thats the case than my last post should asswer your questions.
>
> On Dec 24, 3:35 am, dev <[email protected]> wrote:
>
> > I will give an example:
>
> > Advert hasMany Option
> > I need to find Adverts, where its Options are 3 and 4 values. When
> > using IN, it will return results with 3, or, 4, or both 3 and 4. But i
> > want only with both values.
>
> > Like:
> > [0] => Array
> > (
> > [Advert] => Array
> > (
> > [id] => 2
> > [code] => 54
> > [created] => 2008-12-19 11:17:30
> > )
>
> > [Option] => Array
> > (
> > [0] => Array
> > (
> > [id] => 1
> > [advert_id] => 2
> > [option] => 3
> > )
> > [1] => Array
> > (
> > [id] => 2
> > [advert_id] => 2
> > [option] => 4
> > )
>
> > )
>
> > )
>
> > On Dec 24, 12:35 am, Smelly_Eddie <[email protected]> wrote:
>
> > > How can the same field have multiple values?
> > > -it can be = '3'
> > > -it can be= '4''
>
> > > Otherwise maybe your are just concatenating multiple variables into
> > > one, e.g.;
> > > -it can be='3,4'
> > > which probably should be evaluated for best practices..
>
> > > You would not use IN in such a case.
>
> > > If the are always ordered numerically you might use;
> > > AND options.option like '%3,4%'
> > > (assuming there are higher or lower values (2,..,5))
>
> > > If they are not always order and could be 4,3 or 4,5,3 then you might
> > > try;
> > > AND options.option like '%3%' AND options.option like '%4%
>
> > > On Dec 22, 11:21 am, dev <[email protected]> wrote:
>
> > > > i'm building custom SQl query and need a little help.
>
> > > > query:
> > > > select distinct adverts.id, adverts.code from adverts left join images
> > > > on (images.advert_id = adverts.id) left join options on
> > > > (options.advert_id = adverts.id) where (SELECT count(1) FROM images
> > > > WHERE adverts.id = images.advert_id) > 0 AND options.option IN (3, 4);
>
> > > > but i want to get all Advert records, where options.option has all
> > > > these values (3,4). When i'm using IN(), these values are with OR
> > > > operator, how to set AND?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---