#6523: Result set of find() method different depending on conditions sepcifed on
MySQL views
---+
Reporter: rb5894 | Owner:
Type: Bug |Status: new
Priority: High| Milestone: 1.2.x.x
Component: Model | Version: 1.2 Final
Severity: Major |Resolution:
Keywords: | Php_version: PHP 4 = 4.3.2
Cake_version: 1.2.3.8166 |
---+
Old description:
Hi
When using find() method on views the array returns splits into three
different indexes right after I add one condition to the query
'viewname.column' = $passedValue, if I remove this conidtion I get one
index to reach columns. That's how the returned record looks like with
the condtion
$rec['index1']['col1'],
$rec['index1']['col2']
...
$rec['index2']['col10'],
$rec['index2']['col11']
...
$rec['index3']['col20'].
While without the contion I get
$rec['index1']['col1'],
$rec['index1']['col2']
...
$rec['index1']['col10'],
$rec['index1']['col11']
...
$rec['index1']['col20'].
This bug coused me to move my application from one server to another. I
was using PHP5 before and couldn't narrow it down so I though it was PHP
or server configuration. Before moving the application the behaving was
different as it wasn't based on the condition - just indexes were
differnet. On my local machine the results coming back were
$rec['viewName']['colName'] on the hosted server it was
$rec['0']['colName']. I tough it was the hosting server that was the
issues until I added this condition now, it became clear to me that it
was the cake causing this weird behavior.
I noticed that the names of the indexes are first part of the
two/three/four word made of underscores. If I have two tables 1) cars
with a column name and 2) roads with a column name and create a things
view out of them with c_name and r_name for car and road names. The
record returned, after adding the condition, would be $rec['r']['rame']
and $rec['c']['c_name'] instead of $rec['Thing']['c_name'] and
$rec['Thing']['r_name'].
I'm sorry for confusing people with as I conbined two bugs into one, sort
of. To summarize two months ago I moved my application because indexes
were different on my local machine then hosting server. At that time it
wasn't split into 3 different ones like I get one just one was different
name instead of 'viewName' I had '0'. Now the behavior was different as
there is three different indexes for one view but I believe these two are
connected somehow as it always happenes on the views and not tables.
New description:
Hi
When using find() method on views the array returns splits into three
different indexes right after I add one condition to the query
{{{'viewname.column' = $passedValue}}}, if I remove this conidtion I get
one index to reach columns. That's how the returned record looks like
with the condtion
{{{
$rec['index1']['col1'],
$rec['index1']['col2']
...
$rec['index2']['col10'],
$rec['index2']['col11']
...
$rec['index3']['col20'].
}}}
While without the contion I get
{{{
$rec['index1']['col1'],
$rec['index1']['col2']
...
$rec['index1']['col10'],
$rec['index1']['col11']
...
$rec['index1']['col20'].
}}}
This bug coused me to move my application from one server to another. I
was using PHP5 before and couldn't narrow it down so I though it was PHP
or server configuration. Before moving the application the behaving was
different as it wasn't based on the condition - just indexes were
differnet. On my local machine the results coming back were
{{{$rec['viewName']['colName']}}} on the hosted server it was
{{{$rec['0']['colName'].}}} I tough it was the hosting server that was
the issues until I added this condition now, it became clear to me that it
was the cake causing this weird behavior.
[[BR]][[BR]]
I noticed that the names of the indexes are first part of the
two/three/four word made of underscores. If I have two tables 1) cars with
a column name and 2) roads with a column name and create a things view out
of them with c_name and r_name for car and road names. The record
returned, after adding the condition, would be {{{$rec['r']['rame']}}} and
{{{$rec['c']['c_name']}}} instead of {{{$rec['Thing']['c_name']}}} and
{{{$rec['Thing']['r_name']}}}.
[[BR]][[BR]]
I'm sorry for confusing people with as I conbined two bugs into one, sort
of. To summarize two months ago I moved my application because indexes
were different on my local machine then hosting server. At that time it
wasn't split into 3 different ones like I get one just one was different
name instead of 'viewName' I had '0'. Now the behavior was different as
there is three different indexes for one view but I believe these two