Yii Framework Forum: Best Practice: Vista Con Diversi Model - Come Creare I Controller ? - Yii Framework Forum

Jump to content

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

Best Practice: Vista Con Diversi Model - Come Creare I Controller ? Rate Topic: -----

#1 User is offline   realtebo 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 535
  • Joined: 03-October 12
  • Location:Ferrara

Posted 21 November 2012 - 02:42 AM

La mia domanda è di pura teoria di programmazione, chiedo consiglio proveniente dalla vostra esperienza personale.

Avendo Company [1 - N] CompanyContacts,

nella form delle company, se !isNewRecord è visibile anche la form / list per aggiungere i Contacts.

Attualmente la company l'ho fatta con delle actionCreateContact, actionDeleteContact, etc ...

Io non ho creato il CRUD da gii per il model CompanyContact, perchè ogni contatto può esistere solo se appeso ad una ed una sola company.

E' stata una buona scelta ?

O dovrei creare almeno il CompanyContactController e far si che il CompanyController usi le action del CompanyContractController ?
Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
0

#2 User is offline   emafer 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 182
  • Joined: 23-February 12
  • Location:Amandola

Posted 21 November 2012 - 03:43 AM

Io ho una situazione simile per gestire i contatti dell'anagrafica: 1 anagrafica ha n contatti.
nel mio caso ho un controller che gestisce anche i contatti a cui mando le richieste di CRUD da parte dell'anagrafica.
In questo modo gestisco meglio il codice.
1

#3 User is offline   realtebo 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 535
  • Joined: 03-October 12
  • Location:Ferrara

Posted 21 November 2012 - 04:59 AM

scusami, ma non ho capito: le varie action che gestiscono i contatti sono DENTRO al controller dell'anagrafica?
Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
0

#4 User is offline   emafer 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 182
  • Joined: 23-February 12
  • Location:Amandola

Posted 21 November 2012 - 05:16 AM

scusa la confusione:
ho un controller contattiController, con tutte le sue brave action, dal form di anagrafica con ajax inserisco/elimino i contatti in update, mentre in create uso una action di Controller che mi restituisce una serie di input del tipo contatti[n][valore]: al submit del post l'anagrafica viene inserita, e poi gli dico foreach $_POST['Contatti'] Contatto::save().
0

#5 User is offline   realtebo 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 535
  • Joined: 03-October 12
  • Location:Ferrara

Posted 21 November 2012 - 08:15 AM

Uhm ... grazie ... ma non mi ispira molto ...
Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
0

#6 User is offline   sensorario 

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

Posted 21 November 2012 - 02:58 PM

Io genero model e crud direttamente da gii. E poi sfrutto il codice generato. Vuole dire che se devo aggiungere un contatto, sfrutto CompanyContacts::actionCreate(); perché se uso yii per fare prima, tanto vale sfruttarlo del tutto e lasciare che sia lui a scrivere il codice del crud. Quello che poi vado a cambiare, sono i vari redirect e/o qualche cosa nelle view.
1

#7 User is offline   realtebo 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 535
  • Joined: 03-October 12
  • Location:Ferrara

Posted 22 November 2012 - 06:28 AM

Ci sto, è appropriato.

Però ... il fatto è che c'è di mezzo l'aggiornamento di liste ed altre cose via ajax, e l'oggetto principale è Company.

Io perciò ho bisogno di eseguire CompanyContacts::actionCreate, ma poi questo mi deve fare il render di un partial di company con il model di company dentro, come minimo per avere il companyId , il name ed alcuni altri dati...

sto ancora sbagliando approccio vero ?
Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
0

#8 User is offline   sensorario 

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

Posted 22 November 2012 - 08:35 AM

Secondo me sbagli perché vuoi renderizzare il template con i dati appena creati. Quello che secondo me puoi fare, è farti restituire un json. Restituire coincide con renderizzare in questo caso.

    echo array(json_encode(array(
        'id' => 2,
        'username' => 'sensorario',
        'blog' => 'www.yiinotes.com',
    )));die


Ed a questo punto, l'aggiornamento ajax potrebbe essere simile a questo

    $.post('controller/action', {'dati':'passati', 'via':'post}, function(json){
        // Qui recuperi i valori restituiti dal json in questo modo
        // json.id
        // json.username
        // json.blog
    }, 'json');

1

#9 User is offline   realtebo 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 535
  • Joined: 03-October 12
  • Location:Ferrara

Posted 22 November 2012 - 08:54 AM

Ne tengo conto, grazie
Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
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