Yii Framework Forum: Filtrare In Una Gridview Valori Booleani Compresi Valori Nulli - Yii Framework Forum

Jump to content

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

Filtrare In Una Gridview Valori Booleani Compresi Valori Nulli Rate Topic: -----

#1 User is offline   st4nny 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 325
  • Joined: 10-April 12

Posted 08 March 2013 - 05:30 AM

Salve ragazzi una domanda al volo.
Vorrei poter filtrare i valori NULL insieme ai false,
il mio Helper parsePublished, mi fa visualizzare già nella gridview
No, se il valore nel db è false oppure null, Si se è true.
Il filtro così impostato funziona solo per valori true e false, niente per i null

Nella gridview ho:
array(
	'name'=>'published',
	'type'=>'raw',
	'value'=>'Helpers::parsePublished($data->published)',
	'filter'=>array(1=>'Si',0=>'No')
),


nella funzione search() del model ho:
$criteria->compare('published',$this->published);


come faccio a filtrare i false insieme ai NULL?

Grazie a tutti.
0

#2 User is offline   robter63 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 42
  • Joined: 29-December 12

Posted 08 March 2013 - 07:58 AM

non funzionerebbe così?

array(
	'name'=>'published',
	'type'=>'raw',
	'value'=>'Helpers::parsePublished(is_null($data->published))',
	'filter'=>array(1=>'Si',0=>'No')
),

0

#3 User is offline   st4nny 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 325
  • Joined: 10-April 12

Posted 08 March 2013 - 08:22 AM

no altrimenti non avrei chiesto :) in questa maniera filtra i false e i true.

io vorrei filtrare con 0 i valori NULL e false.
0

#4 User is offline   Nicola 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 180
  • Joined: 13-March 11
  • Location:Italy

Posted 08 March 2013 - 08:36 AM

Se il campo è booleano non dovresti aver il valore NULL.
Per avere una struttura coerente il campo dovrebbe essere NOT NULL e con valore di default impostato a 1 o a 0 (nel tuo caso 0).

In questo modo hai sempre e solo le due possibilità 1 o 0 e se non viene specificato il valore, in fase di inserimento, al posto di NULL avrai il valore di default che hai scelto (nel tuo caso 0).

Utilizzare i tipi di dato in maniera corretta aiuta molto a scrivere buon codice.
My company: DigiSin
0

#5 User is offline   sensorario 

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

Posted 08 March 2013 - 08:52 AM

Ti serve che quei campi possano essere null? Te lo chiedo perché se non ti serve, puoi non lasciarli mai null e far si che questo problema non si manifesti mai.
0

#6 User is offline   st4nny 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 325
  • Joined: 10-April 12

Posted 08 March 2013 - 08:56 AM

si si questo lo so. io ho chiesto un'altra cosa, e se è possibile farla ;)
0

#7 User is offline   st4nny 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 325
  • Joined: 10-April 12

Posted 08 March 2013 - 08:57 AM

si mi serve che sia anche null
0

#8 User is offline   Nicola 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 180
  • Joined: 13-March 11
  • Location:Italy

Posted 08 March 2013 - 09:24 AM

Una cosa tipo questa, un po' grezza:

$criteria->compare('published', $this->published == 1 ? $this->published : 0);


cioè se è 1 passi il valore se non è uno passi sempre 0.
My company: DigiSin
0

#9 User is offline   st4nny 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 325
  • Joined: 10-April 12

Posted 08 March 2013 - 09:38 AM

no purtroppo non va.
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