Un paio di chiarimenti su CGridView

Ho i modelli Portfolio e Cliente

In Portfolio ho la FK clienteid che crea la relazione con Cliente.

In CGridView columns ho visto che il nome del cliente lo posso stampare in due modi:


'columns'=>array(

	'cliente.nome', // primo


	array( // secondo

	'name'=>'clienteid',

	'value'=>'$data->cliente->nome'

	),

),

dove cliente è il nome della relazione dichiarata nel modello Portfolio

La prima differenza sostanziale tra i due è che con il primo sparisce, in testa alla relativa colonna, il textfield per filtrare i dati.

Quali sono le altre?

Nel caso si adotti la seconda soluzione, il suddetto filtro da’ risultati solo inserendo valori numerici (clienteid).

C’è il modo di fargli fare la ricerca riferita al nome anziché all’id?

Grazie

Per modificare la ricerca puoi:

  • editare la funzione search nel model e fare quello che vuoi (mettere la ricerca testuale)

  • passare come paramertro ‘filter’=>array di valori, in questo modo ti crea una tendina e continui ad usare la ricerca con i valori numerici.