Re: Simple binding question.
That's a very good idea. silly me. I don't know why I was stubborn using the ticket model. On Jan 21, 12:57 pm, Dardo Sordi Bogado [EMAIL PROTECTED] wrote: Do bind in the model you will execute the findAll! As you say: A deal has many tickets, and belongs to one item. do bind: Deal hasMany Ticket, Deal belongsTo Item. HTH, - Dardo Sordi. On Jan 21, 2008 7:16 AM, phpjoy [EMAIL PROTECTED] wrote: for some kind of reason, this didn't work: $this-Ticket-bindModel(array('belongsTo' = array('Deal' =array('foreignKey' = 'deal_id'; $this-Ticket-Deal-bindModel(array('belongsTo' = array('Item' =array('foreignKey' = 'item_id'; On the query, it searched for: Item.id = Ticket.item_id (and item_id doesn't exist) On Jan 20, 11:17 pm, Dardo Sordi Bogado [EMAIL PROTECTED] wrote: If A deal has many tickets, and belongs to one item., then why you bind: $this-Ticket-bindModel(array('belongsTo' = array('Deal' =array('foreignKey' = 'deal_id'; $this-Ticket-bindModel(array('belongsTo' = array('Item' =array('foreignKey' = 'deal_id'; Ticket belongsTo Deal, Ticket belongsTo Item ? On Jan 19, 2008 6:43 PM, phpjoy [EMAIL PROTECTED] wrote: No, there isn't such a key Ticket.item_id Warning (512): SQL Error: 1054: Unknown column 'Ticket.item_id' in 'on clause' [CORE\cake\libs\model\datasources\dbo_source.php, line 440] There's Deal.item_id Basically a ticket belongs to a deal. A deal has many tickets, and belongs to one item. It should be: Ticket-Deal-Item I need to get Item.title for every ticket that I have. So my custom SQL query is correct, but I wonder how I could use binds to do that. That's the custom query I came up with: SELECT `Ticket`.`id`, `Deal`.`file`, `Item`.`title` FROM `tickets` AS `Ticket` LEFT JOIN `deals` AS `Deal` ON (`Ticket`.`deal_id` = `Deal`.`id`) LEFT JOIN `items` AS `Item` ON (`Deal`.`item_id` = `Item`.`id`) WHERE `Ticket`.`user_id` = 1 When I left join 'items' to deal.item_id, it works. On Jan 19, 6:40 pm, Dardo Sordi Bogado [EMAIL PROTECTED] wrote: You are putting: $this-Ticket-bindModel(array('belongsTo' = array('Item' = array('foreignKey' = 'deal_id'; instead of : $this-Ticket-bindModel(array('belongsTo' = array('Item' = array('foreignKey' = 'item_id'; it's a copy and paste error. HTH, - Dardo Sordi. On Jan 18, 2008 9:39 PM, phpjoy [EMAIL PROTECTED] wrote: I wonder how I could make asimplequery to work through bind(), and not use a custom query. I'm binding two models for a model: $this-Ticket-bindModel(array('belongsTo' = array('Deal' = array('foreignKey' = 'deal_id'; $this-Ticket-bindModel(array('belongsTo' = array('Item' = array('foreignKey' = 'deal_id'; The resulting query I get is this: SELECT `Ticket`.`id`, `Deal`.`file`, `Item`.`title` FROM `tickets` AS `Ticket` LEFT JOIN `deals` AS `Deal` ON (`Ticket`.`deal_id` = `Deal`.`id`) LEFT JOIN `items` AS `Item` ON (`Ticket`.`deal_id` = `Item`.`id`) WHERE `Ticket`.`user_id` = 1 Now, instead of: `Item` ON (`Ticket`.`deal_id` = `Item`.`id`) I need: `Item` ON (`Deal`.`item_id` = `Item`.`id`) Which gives this query: SELECT `Ticket`.`id`, `Deal`.`file`, `Item`.`title` FROM `tickets` AS `Ticket` LEFT JOIN `deals` AS `Deal` ON (`Ticket`.`deal_id` = `Deal`.`id`) LEFT JOIN `items` AS `Item` ON (`Deal`.`item_id` = `Item`.`id`) WHERE `Ticket`.`user_id` = 1 I tried binding item to deal, and CakePHP made 200 queries instead. That didn't work too well. Any ideas how I could make a slim query with CakePHP, without using query()? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Cake PHP group. To post to this group, send email to cake-php@googlegroups.com 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 -~--~~~~--~~--~--~---
Re: Simple binding question.
for some kind of reason, this didn't work: $this-Ticket-bindModel(array('belongsTo' = array('Deal' =array('foreignKey' = 'deal_id'; $this-Ticket-Deal-bindModel(array('belongsTo' = array('Item' =array('foreignKey' = 'item_id'; On the query, it searched for: Item.id = Ticket.item_id (and item_id doesn't exist) On Jan 20, 11:17 pm, Dardo Sordi Bogado [EMAIL PROTECTED] wrote: If A deal has many tickets, and belongs to one item., then why you bind: $this-Ticket-bindModel(array('belongsTo' = array('Deal' =array('foreignKey' = 'deal_id'; $this-Ticket-bindModel(array('belongsTo' = array('Item' =array('foreignKey' = 'deal_id'; Ticket belongsTo Deal, Ticket belongsTo Item ? On Jan 19, 2008 6:43 PM, phpjoy [EMAIL PROTECTED] wrote: No, there isn't such a key Ticket.item_id Warning (512): SQL Error: 1054: Unknown column 'Ticket.item_id' in 'on clause' [CORE\cake\libs\model\datasources\dbo_source.php, line 440] There's Deal.item_id Basically a ticket belongs to a deal. A deal has many tickets, and belongs to one item. It should be: Ticket-Deal-Item I need to get Item.title for every ticket that I have. So my custom SQL query is correct, but I wonder how I could use binds to do that. That's the custom query I came up with: SELECT `Ticket`.`id`, `Deal`.`file`, `Item`.`title` FROM `tickets` AS `Ticket` LEFT JOIN `deals` AS `Deal` ON (`Ticket`.`deal_id` = `Deal`.`id`) LEFT JOIN `items` AS `Item` ON (`Deal`.`item_id` = `Item`.`id`) WHERE `Ticket`.`user_id` = 1 When I left join 'items' to deal.item_id, it works. On Jan 19, 6:40 pm, Dardo Sordi Bogado [EMAIL PROTECTED] wrote: You are putting: $this-Ticket-bindModel(array('belongsTo' = array('Item' = array('foreignKey' = 'deal_id'; instead of : $this-Ticket-bindModel(array('belongsTo' = array('Item' = array('foreignKey' = 'item_id'; it's a copy and paste error. HTH, - Dardo Sordi. On Jan 18, 2008 9:39 PM, phpjoy [EMAIL PROTECTED] wrote: I wonder how I could make a simple query to work through bind(), and not use a custom query. I'm binding two models for a model: $this-Ticket-bindModel(array('belongsTo' = array('Deal' = array('foreignKey' = 'deal_id'; $this-Ticket-bindModel(array('belongsTo' = array('Item' = array('foreignKey' = 'deal_id'; The resulting query I get is this: SELECT `Ticket`.`id`, `Deal`.`file`, `Item`.`title` FROM `tickets` AS `Ticket` LEFT JOIN `deals` AS `Deal` ON (`Ticket`.`deal_id` = `Deal`.`id`) LEFT JOIN `items` AS `Item` ON (`Ticket`.`deal_id` = `Item`.`id`) WHERE `Ticket`.`user_id` = 1 Now, instead of: `Item` ON (`Ticket`.`deal_id` = `Item`.`id`) I need: `Item` ON (`Deal`.`item_id` = `Item`.`id`) Which gives this query: SELECT `Ticket`.`id`, `Deal`.`file`, `Item`.`title` FROM `tickets` AS `Ticket` LEFT JOIN `deals` AS `Deal` ON (`Ticket`.`deal_id` = `Deal`.`id`) LEFT JOIN `items` AS `Item` ON (`Deal`.`item_id` = `Item`.`id`) WHERE `Ticket`.`user_id` = 1 I tried binding item to deal, and CakePHP made 200 queries instead. That didn't work too well. Any ideas how I could make a slim query with CakePHP, without using query()? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Cake PHP group. To post to this group, send email to cake-php@googlegroups.com 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 -~--~~~~--~~--~--~---
Re: Simple binding question.
Do bind in the model you will execute the findAll! As you say: A deal has many tickets, and belongs to one item. do bind: Deal hasMany Ticket, Deal belongsTo Item. HTH, - Dardo Sordi. On Jan 21, 2008 7:16 AM, phpjoy [EMAIL PROTECTED] wrote: for some kind of reason, this didn't work: $this-Ticket-bindModel(array('belongsTo' = array('Deal' =array('foreignKey' = 'deal_id'; $this-Ticket-Deal-bindModel(array('belongsTo' = array('Item' =array('foreignKey' = 'item_id'; On the query, it searched for: Item.id = Ticket.item_id (and item_id doesn't exist) On Jan 20, 11:17 pm, Dardo Sordi Bogado [EMAIL PROTECTED] wrote: If A deal has many tickets, and belongs to one item., then why you bind: $this-Ticket-bindModel(array('belongsTo' = array('Deal' =array('foreignKey' = 'deal_id'; $this-Ticket-bindModel(array('belongsTo' = array('Item' =array('foreignKey' = 'deal_id'; Ticket belongsTo Deal, Ticket belongsTo Item ? On Jan 19, 2008 6:43 PM, phpjoy [EMAIL PROTECTED] wrote: No, there isn't such a key Ticket.item_id Warning (512): SQL Error: 1054: Unknown column 'Ticket.item_id' in 'on clause' [CORE\cake\libs\model\datasources\dbo_source.php, line 440] There's Deal.item_id Basically a ticket belongs to a deal. A deal has many tickets, and belongs to one item. It should be: Ticket-Deal-Item I need to get Item.title for every ticket that I have. So my custom SQL query is correct, but I wonder how I could use binds to do that. That's the custom query I came up with: SELECT `Ticket`.`id`, `Deal`.`file`, `Item`.`title` FROM `tickets` AS `Ticket` LEFT JOIN `deals` AS `Deal` ON (`Ticket`.`deal_id` = `Deal`.`id`) LEFT JOIN `items` AS `Item` ON (`Deal`.`item_id` = `Item`.`id`) WHERE `Ticket`.`user_id` = 1 When I left join 'items' to deal.item_id, it works. On Jan 19, 6:40 pm, Dardo Sordi Bogado [EMAIL PROTECTED] wrote: You are putting: $this-Ticket-bindModel(array('belongsTo' = array('Item' = array('foreignKey' = 'deal_id'; instead of : $this-Ticket-bindModel(array('belongsTo' = array('Item' = array('foreignKey' = 'item_id'; it's a copy and paste error. HTH, - Dardo Sordi. On Jan 18, 2008 9:39 PM, phpjoy [EMAIL PROTECTED] wrote: I wonder how I could make a simple query to work through bind(), and not use a custom query. I'm binding two models for a model: $this-Ticket-bindModel(array('belongsTo' = array('Deal' = array('foreignKey' = 'deal_id'; $this-Ticket-bindModel(array('belongsTo' = array('Item' = array('foreignKey' = 'deal_id'; The resulting query I get is this: SELECT `Ticket`.`id`, `Deal`.`file`, `Item`.`title` FROM `tickets` AS `Ticket` LEFT JOIN `deals` AS `Deal` ON (`Ticket`.`deal_id` = `Deal`.`id`) LEFT JOIN `items` AS `Item` ON (`Ticket`.`deal_id` = `Item`.`id`) WHERE `Ticket`.`user_id` = 1 Now, instead of: `Item` ON (`Ticket`.`deal_id` = `Item`.`id`) I need: `Item` ON (`Deal`.`item_id` = `Item`.`id`) Which gives this query: SELECT `Ticket`.`id`, `Deal`.`file`, `Item`.`title` FROM `tickets` AS `Ticket` LEFT JOIN `deals` AS `Deal` ON (`Ticket`.`deal_id` = `Deal`.`id`) LEFT JOIN `items` AS `Item` ON (`Deal`.`item_id` = `Item`.`id`) WHERE `Ticket`.`user_id` = 1 I tried binding item to deal, and CakePHP made 200 queries instead. That didn't work too well. Any ideas how I could make a slim query with CakePHP, without using query()? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Cake PHP group. To post to this group, send email to cake-php@googlegroups.com 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 -~--~~~~--~~--~--~---
Re: Simple binding question.
If A deal has many tickets, and belongs to one item., then why you bind: $this-Ticket-bindModel(array('belongsTo' = array('Deal' =array('foreignKey' = 'deal_id'; $this-Ticket-bindModel(array('belongsTo' = array('Item' =array('foreignKey' = 'deal_id'; Ticket belongsTo Deal, Ticket belongsTo Item ? On Jan 19, 2008 6:43 PM, phpjoy [EMAIL PROTECTED] wrote: No, there isn't such a key Ticket.item_id Warning (512): SQL Error: 1054: Unknown column 'Ticket.item_id' in 'on clause' [CORE\cake\libs\model\datasources\dbo_source.php, line 440] There's Deal.item_id Basically a ticket belongs to a deal. A deal has many tickets, and belongs to one item. It should be: Ticket-Deal-Item I need to get Item.title for every ticket that I have. So my custom SQL query is correct, but I wonder how I could use binds to do that. That's the custom query I came up with: SELECT `Ticket`.`id`, `Deal`.`file`, `Item`.`title` FROM `tickets` AS `Ticket` LEFT JOIN `deals` AS `Deal` ON (`Ticket`.`deal_id` = `Deal`.`id`) LEFT JOIN `items` AS `Item` ON (`Deal`.`item_id` = `Item`.`id`) WHERE `Ticket`.`user_id` = 1 When I left join 'items' to deal.item_id, it works. On Jan 19, 6:40 pm, Dardo Sordi Bogado [EMAIL PROTECTED] wrote: You are putting: $this-Ticket-bindModel(array('belongsTo' = array('Item' = array('foreignKey' = 'deal_id'; instead of : $this-Ticket-bindModel(array('belongsTo' = array('Item' = array('foreignKey' = 'item_id'; it's a copy and paste error. HTH, - Dardo Sordi. On Jan 18, 2008 9:39 PM, phpjoy [EMAIL PROTECTED] wrote: I wonder how I could make a simple query to work through bind(), and not use a custom query. I'm binding two models for a model: $this-Ticket-bindModel(array('belongsTo' = array('Deal' = array('foreignKey' = 'deal_id'; $this-Ticket-bindModel(array('belongsTo' = array('Item' = array('foreignKey' = 'deal_id'; The resulting query I get is this: SELECT `Ticket`.`id`, `Deal`.`file`, `Item`.`title` FROM `tickets` AS `Ticket` LEFT JOIN `deals` AS `Deal` ON (`Ticket`.`deal_id` = `Deal`.`id`) LEFT JOIN `items` AS `Item` ON (`Ticket`.`deal_id` = `Item`.`id`) WHERE `Ticket`.`user_id` = 1 Now, instead of: `Item` ON (`Ticket`.`deal_id` = `Item`.`id`) I need: `Item` ON (`Deal`.`item_id` = `Item`.`id`) Which gives this query: SELECT `Ticket`.`id`, `Deal`.`file`, `Item`.`title` FROM `tickets` AS `Ticket` LEFT JOIN `deals` AS `Deal` ON (`Ticket`.`deal_id` = `Deal`.`id`) LEFT JOIN `items` AS `Item` ON (`Deal`.`item_id` = `Item`.`id`) WHERE `Ticket`.`user_id` = 1 I tried binding item to deal, and CakePHP made 200 queries instead. That didn't work too well. Any ideas how I could make a slim query with CakePHP, without using query()? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Cake PHP group. To post to this group, send email to cake-php@googlegroups.com 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 -~--~~~~--~~--~--~---
Re: Simple binding question.
You are putting: $this-Ticket-bindModel(array('belongsTo' = array('Item' = array('foreignKey' = 'deal_id'; instead of : $this-Ticket-bindModel(array('belongsTo' = array('Item' = array('foreignKey' = 'item_id'; it's a copy and paste error. HTH, - Dardo Sordi. On Jan 18, 2008 9:39 PM, phpjoy [EMAIL PROTECTED] wrote: I wonder how I could make a simple query to work through bind(), and not use a custom query. I'm binding two models for a model: $this-Ticket-bindModel(array('belongsTo' = array('Deal' = array('foreignKey' = 'deal_id'; $this-Ticket-bindModel(array('belongsTo' = array('Item' = array('foreignKey' = 'deal_id'; The resulting query I get is this: SELECT `Ticket`.`id`, `Deal`.`file`, `Item`.`title` FROM `tickets` AS `Ticket` LEFT JOIN `deals` AS `Deal` ON (`Ticket`.`deal_id` = `Deal`.`id`) LEFT JOIN `items` AS `Item` ON (`Ticket`.`deal_id` = `Item`.`id`) WHERE `Ticket`.`user_id` = 1 Now, instead of: `Item` ON (`Ticket`.`deal_id` = `Item`.`id`) I need: `Item` ON (`Deal`.`item_id` = `Item`.`id`) Which gives this query: SELECT `Ticket`.`id`, `Deal`.`file`, `Item`.`title` FROM `tickets` AS `Ticket` LEFT JOIN `deals` AS `Deal` ON (`Ticket`.`deal_id` = `Deal`.`id`) LEFT JOIN `items` AS `Item` ON (`Deal`.`item_id` = `Item`.`id`) WHERE `Ticket`.`user_id` = 1 I tried binding item to deal, and CakePHP made 200 queries instead. That didn't work too well. Any ideas how I could make a slim query with CakePHP, without using query()? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Cake PHP group. To post to this group, send email to cake-php@googlegroups.com 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 -~--~~~~--~~--~--~---
Re: Simple binding question.
No, there isn't such a key Ticket.item_id Warning (512): SQL Error: 1054: Unknown column 'Ticket.item_id' in 'on clause' [CORE\cake\libs\model\datasources\dbo_source.php, line 440] There's Deal.item_id Basically a ticket belongs to a deal. A deal has many tickets, and belongs to one item. It should be: Ticket-Deal-Item I need to get Item.title for every ticket that I have. So my custom SQL query is correct, but I wonder how I could use binds to do that. That's the custom query I came up with: SELECT `Ticket`.`id`, `Deal`.`file`, `Item`.`title` FROM `tickets` AS `Ticket` LEFT JOIN `deals` AS `Deal` ON (`Ticket`.`deal_id` = `Deal`.`id`) LEFT JOIN `items` AS `Item` ON (`Deal`.`item_id` = `Item`.`id`) WHERE `Ticket`.`user_id` = 1 When I left join 'items' to deal.item_id, it works. On Jan 19, 6:40 pm, Dardo Sordi Bogado [EMAIL PROTECTED] wrote: You are putting: $this-Ticket-bindModel(array('belongsTo' = array('Item' = array('foreignKey' = 'deal_id'; instead of : $this-Ticket-bindModel(array('belongsTo' = array('Item' = array('foreignKey' = 'item_id'; it's a copy and paste error. HTH, - Dardo Sordi. On Jan 18, 2008 9:39 PM, phpjoy [EMAIL PROTECTED] wrote: I wonder how I could make a simple query to work through bind(), and not use a custom query. I'm binding two models for a model: $this-Ticket-bindModel(array('belongsTo' = array('Deal' = array('foreignKey' = 'deal_id'; $this-Ticket-bindModel(array('belongsTo' = array('Item' = array('foreignKey' = 'deal_id'; The resulting query I get is this: SELECT `Ticket`.`id`, `Deal`.`file`, `Item`.`title` FROM `tickets` AS `Ticket` LEFT JOIN `deals` AS `Deal` ON (`Ticket`.`deal_id` = `Deal`.`id`) LEFT JOIN `items` AS `Item` ON (`Ticket`.`deal_id` = `Item`.`id`) WHERE `Ticket`.`user_id` = 1 Now, instead of: `Item` ON (`Ticket`.`deal_id` = `Item`.`id`) I need: `Item` ON (`Deal`.`item_id` = `Item`.`id`) Which gives this query: SELECT `Ticket`.`id`, `Deal`.`file`, `Item`.`title` FROM `tickets` AS `Ticket` LEFT JOIN `deals` AS `Deal` ON (`Ticket`.`deal_id` = `Deal`.`id`) LEFT JOIN `items` AS `Item` ON (`Deal`.`item_id` = `Item`.`id`) WHERE `Ticket`.`user_id` = 1 I tried binding item to deal, and CakePHP made 200 queries instead. That didn't work too well. Any ideas how I could make a slim query with CakePHP, without using query()? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Cake PHP group. To post to this group, send email to cake-php@googlegroups.com 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 -~--~~~~--~~--~--~---