Hello Jeremy,
Here is my example. Note that this is all within my model.
public function getOrder($id = null){
if($id === null){
return array();
}
$fields = array(
'Order.id',
'OrderStatus.name',
'Location.name',
'Location.line1',
'Location.line2',
'Location.city',
'Location.postal_code',
'Location.contact',
'Location.phone',
'Order.customer_notes',
'Order.internal_notes',
'Order.external_notes',
'OrderType.name',
'State.abbr'
);
$conditions = array(
'Order.id' => $id
);
return $this->find('first', array('fields' => $fields, 'conditions' =>
$conditions, 'recursive' => 2));
}
The following is output to the view.
*Error: *SQLSTATE[42S22]: Column not found: 1054 Unknown column 'State.abbr' in
'field list'
*SQL Query: *SELECT `Order`.`id`, `OrderStatus`.`name`, `Location`.`name`,
`Location`.`line1`, `Location`.`line2`, `Location`.`city`,
`Location`.`postal_code`, `Location`.`contact`, `Location`.`phone`,
`Order`.`customer_notes`, `Order`.`internal_notes`, `Order`.`external_notes`,
`OrderType`.`name`, `State`.`abbr` FROM `intranet`.`orders` AS `Order` LEFT
JOIN `intranet`.`locations` AS `Location` ON (`Order`.`location_id` =
`Location`.`id`) LEFT JOIN `intranet`.`order_statuses` AS `OrderStatus` ON
(`Order`.`order_status_id` = `OrderStatus`.`id`) LEFT JOIN
`intranet`.`order_types` AS `OrderType` ON (`Order`.`order_type_id` =
`OrderType`.`id`) LEFT JOIN `intranet`.`shipping_methods` AS `ShippingMethod`
ON (`Order`.`shipping_method_id` = `ShippingMethod`.`id`) WHERE `Order`.`id` =
1 LIMIT 1
*Notice: *If you want to customize this error message, create
app/View/Errors/pdo_error.ctp
I would expect that it would go down one more level to do a join on
State.id = Location.state_id however that does not appear to be the case.
I do have the models set up correctly.
On Tuesday, November 20, 2012 1:20:38 AM UTC-6, Jeremy Burns wrote:
>
> Got an example?
>
> Jeremy Burns
> Class Outfit
>
> http://www.classoutfit.com
>
> On 20 Nov 2012, at 00:44:41, jsundquist <[email protected] <javascript:>>
> wrote:
>
> I should also state that by default my application is set to recursive = 1
> but this query I am looking to pass in recursive=2.
>
> On Monday, November 19, 2012 6:42:22 PM UTC-6, jsundquist wrote:
>>
>> Looking through both the book.cakephp.org and also api.cakephp.org for
>> 2.x they both still mention the ability to pass in recursive as a parameter
>> however when you do this for the find method it appears it is completely
>> ignored. Is this functionality missing or deprecated? I'm doing a find
>> that needs to go one extra level deeper than normal. I was hoping to just
>> pass in recursive=>1 for this single query, but so far it looks like it
>> still only returns direct ascendants.
>
>
> --
> Like Us on FaceBook https://www.facebook.com/CakePHP
> Find us on Twitter http://twitter.com/CakePHP
>
> ---
> You received this message because you are subscribed to the Google Groups
> "CakePHP" group.
> To post to this group, send email to [email protected]<javascript:>
> .
> To unsubscribe from this group, send email to
> [email protected] <javascript:>.
> Visit this group at http://groups.google.com/group/cake-php?hl=en.
>
>
>
>
>
--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP
---
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].
Visit this group at http://groups.google.com/group/cake-php?hl=en.