Empfehlungen: Erweiterte Suche

problem mit Model nach Relation

Datenbankobjekte strukturieren und validieren

problem mit Model nach Relation

Beitragvon james2010 » So 20. Jun 2010, 11:45

Hallo,

habe folgendes Problem.

suche nach einer UserId anhand der Email adresse

Code: Alles auswählen

 $UserId = $this->Customer->findAllBycustomers_email_address($mail);
 


so klappt auch alles. allerdings nachdem ich eine Relation herstelle.

Customer = Kunde der hat bzw. kann viele Bestellung haben (Order)
Code: Alles auswählen

Model Customer
  var $hasMany = array('Order');

 


Code: Alles auswählen

Model Order

 var $hasOne = array('Customer');
 


geht zwar folgendes im Customer Controller

Code: Alles auswählen

   $Order = $this->Customer->Order->save($Orderdata);
 


aber nun geht das nicht mehr
Code: Alles auswählen

 $UserId = $this->Customer->findAllBycustomers_email_address($mail);
 


Ich bekomme die Meldung Unknown column 'Customer.id'
james2010
 
Beiträge: 8
Registriert: Mi 28. Apr 2010, 13:46

Re: problem mit Model nach Relation

Beitragvon mbrod » So 20. Jun 2010, 12:30

Dem Fehler müsste man eigentlich auf die Spur kommen, wenn man sich mal den SQL Querystring anschaut.
mbrod
 
Beiträge: 193
Registriert: Mi 20. Mai 2009, 18:09
Wohnort: Frankfurt am Main
CakePHP-Version: 1.3.8
OS: Mac OS X

Re: problem mit Model nach Relation

Beitragvon james2010 » So 27. Jun 2010, 12:12

ja er kann das Feld Customer.id nicht finden. es gibt auch keine ID sondern der Name ist customer.id aber k.a

wieso der nach id sucht.
james2010
 
Beiträge: 8
Registriert: Mi 28. Apr 2010, 13:46

Re: problem mit Model nach Relation

Beitragvon james2010 » So 27. Jun 2010, 12:38

er such wenn ich die Relation herstellen in dem SQL Befehl nach einer ID

die gibts es allerdings nicht.

Query: SELECT `Customer`.`customers_id`, `Customer`.`customers_gender`, `Customer`.`customers_firstname`, `Customer`.`customers_lastname`, `Customer`.`customers_email_address`, `Customer`.`customers_address`, `Customer`.`customers_password`, `Customer`.`customers_city`, `Customer`.`customers_postcode`, `Customer`.`customers_countries_id`, `Customer`.`id`
james2010
 
Beiträge: 8
Registriert: Mi 28. Apr 2010, 13:46

Re: problem mit Model nach Relation

Beitragvon mbrod » So 27. Jun 2010, 13:56

Nach CakePHP Konvention muss das Schlüsselfeld id vorhanden sein. In deiner Tabelle customers hast Du allen Feldern ein Präfix "customers_" vorangestellt. Möglicherweise kann man so ein Präfix bei CakePHP irgendwo einstellen. Von der Logik und der Übersichtlichkeit her ist dieses Präfix aber nicht nötig. Ich würde die Tabelle (und dann natürlich models, views controller) so ändern, dass "customers_" gelöscht wird. Dann ist es nach CakePHP Konvention und sollte auch funktionieren.
mbrod
 
Beiträge: 193
Registriert: Mi 20. Mai 2009, 18:09
Wohnort: Frankfurt am Main
CakePHP-Version: 1.3.8
OS: Mac OS X


Zurück zu Models

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron