Re: Simple binding question.

2008-01-22 Thread phpjoy

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.

2008-01-21 Thread phpjoy

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.

2008-01-21 Thread Dardo Sordi Bogado

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.

2008-01-20 Thread Dardo Sordi Bogado

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.

2008-01-19 Thread Dardo Sordi Bogado

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.

2008-01-19 Thread phpjoy

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
-~--~~~~--~~--~--~---