Yii Framework Forum: Problema con camel back notation - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Problema con camel back notation Rate Topic: -----

#1 User is offline   Pietro 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 14-July 11

Posted 14 July 2011 - 05:42 AM

Utilizziamo da qualche giorno YII e abbiamo notato un problema.
Abbiamo utilizzato una notazione per le tabelle del tipo "NomeTabella".

Arrivati però al punto di fare una chiamata al DB servendoci del sistema fornito da Yii, ci siamo accorti di un possibile problema che forse potrebbe risultare penalizzante.

Questa è la chiamata che abbiamo scritto:

$sql = "SELECT * FROM ".Livelli::tableName()." WHERE(idLivelloUtente={$idLivelloUtente})";
$livelloUtente = Yii::app()->db->createCommand($sql)->queryRow();

Otteniamo il seguente errore:

CDbCommand failed to execute the SQL statement: SQLSTATE[42703]: Undefined column: 7 ERROR: column "livelloutente" does not exist at character 8. The SQL statement executed was: SELECT livelloUtente FROM "LivelliUtente" "t" WHERE (idLivelloUtente=1)

Per farla breve, Yii forza i tablename affinché risultino in minuscolo.
La funzione è dentro il file ModelCommand.php

protected function generateRelationName($tableName, $fkName, $multiple)
{
if(strcasecmp(substr($fkName,-2),'id')===0 && strcasecmp($fkName,'id'))
$relationName=rtrim(substr($fkName, 0, -2),'_');
else
$relationName=$fkName;
$relationName[0]=strtolower($relationName);
$rawName=$relationName;
if($multiple)
$relationName=$this->pluralize($relationName);
$table=$this->_schema->getTable($tableName);
$i=0;
while(isset($table->columns[$relationName]))
$relationName=$rawName.($i++);
return $relationName;
}


Per noi questo è un problema in quanto sia i nomi delle tabelle che i nomi dei campi sono scritti con camel-back notation.
Avete per caso avuto modo di incontrare questo problema e quindi trovare una soluzione?

Grazie.
Pietro
0

#2 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,986
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 14 July 2011 - 05:52 AM

Senza leggere tutto il messaggio: come mai non avete usato il model di Yii ed avete scritto sql direttamente?
0

#3 User is offline   Maurizio Domba Cerin 

  • Yii - Yesss It Is !!!
  • Yii
  • Group: Yii Dev Team
  • Posts: 4,339
  • Joined: 12-October 09
  • Location:Croatia

Posted 14 July 2011 - 05:59 AM

Hai fatoo la stesa domanda nel forum inglese... ti ho gia risposto li...
Find more about me.... btw. Do you know your WAN IP?
0

#4 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,986
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 14 July 2011 - 09:21 AM

E mi sa che l'ha rifatta di nuovo qui nel forum italiano... sbaglio?
0

#5 User is offline   Pietro 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 14-July 11

Posted 14 July 2011 - 09:40 AM

Si ho postato due volte lo stesso messaggio. :rolleyes:

Non conosco ancora bene il framework; non capisco perché YII forza in minuscolo nome tabella e campi.
Ho provato ad applicare quanto ricevuto con i suggerimenti riveuti ma senza successo.
Grazie
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users