1
votes

I am using cakephp 2.6.7. I have table named 'customers' where email is 'none' as default in table structure. I repeat it is not NULL as default. So when email field is empty then this field is not set as null. In this case how can I retrieve all data which is not empty. I tried this:

$customers =  $this->Customer->find('list', 
                 array('fields' => array('email'),
                 'conditions' => array('event_id' => $this->request->data['Product']['event_id'],
                      'not' => array('Customer.email' => null) 
                  )
              )
          ); 

print_r($customers); gives the following result:

Array
(
    [103] => [email protected]
    [104] => [email protected]
    [105] => [email protected]
    [106] => [email protected]
    [107] => [email protected]
    [108] => [email protected]
    [109] => [email protected]
    [110] => [email protected]
    [111] => [email protected]
    [112] => [email protected]
    [113] => [email protected]
    [114] => [email protected]
    [115] => [email protected]
    [116] => [email protected]
    [117] => [email protected]
    [118] => [email protected]
    [119] => [email protected]
    [120] => [email protected]
    [121] => [email protected]
    [122] => [email protected]
    [123] => [email protected]
    [124] => [email protected]
    [125] => [email protected]
    [126] => [email protected]
    [127] => [email protected]
    [128] => [email protected]
    [129] => [email protected]
    [130] => [email protected]
    [131] => [email protected]
    [132] => [email protected]
    [133] => [email protected]
    [134] => [email protected]
    [135] => [email protected]
    [136] => [email protected]
    [137] => [email protected]
    [138] => [email protected]
    [139] => [email protected]
    [140] => [email protected]
    [141] => [email protected]
    [142] => [email protected]
    [143] => [email protected]
    [144] => [email protected]
    [145] => [email protected]
    [146] => [email protected]
    [147] => [email protected]
    [148] => [email protected]
    [149] => [email protected]
    [150] => [email protected]
    [151] => [email protected]
    [152] => [email protected]
    [153] => [email protected]
    [154] => [email protected] 
    [155] => [email protected]
    [156] => [email protected]
    [157] => [email protected]
    [158] => [email protected]
    [159] => [email protected]
    [160] => [email protected]
    [161] => [email protected]
    [162] => [email protected]
    [163] => [email protected]
    [164] => [email protected]
    [165] => [email protected]
    [166] => [email protected]
    [167] => [email protected]
    [168] => [email protected]
    [169] => [email protected]
    [170] => [email protected]
    [171] => [email protected]
    [172] => [email protected]
    [173] => [email protected]
    [174] => [email protected]
    [175] => [email protected]
    [176] => [email protected]
    [177] => [email protected]
    [178] => [email protected]
    [179] => [email protected]
    [180] => [email protected]
    [181] => [email protected]
    [182] => [email protected]
    [183] => [email protected]
    [184] => [email protected]
    [185] => [email protected]
    [186] => [email protected]
    [187] => [email protected]
    [188] => [email protected]
    [189] => [email protected]
    [190] => [email protected]
    [191] => mafuz619 Gmail . com
    [192] => [email protected]
    [193] => [email protected]
    [194] => [email protected]
    [195] => [email protected]
    [196] => [email protected]
    [197] => 
    [198] => 
    [199] => 
    [200] => 
    [201] => 
    [202] => 
    [203] => 
    [204] => 
    [205] => 
    [206] => 
    [207] => 
    [208] => 
    [209] => 
    [210] => 
    [211] => 
    [212] => 
    [213] => 
    [214] => 
    [215] => 
    [216] => 
    [217] => 
    [218] => 
    [219] => 
    [220] => 
)

It logical that the email field is not null when no value for email is provided but I am trying to filtering this empty value telling as NOT NULL. Is there any way to solve this issues ?

1
Pass an empty string to the not value i.e. 'not' => array('Customer.email' => '')gabe3886
Great! It works. ThanksAbdus Sattar Bhuiyan

1 Answers

5
votes

Please add condition like

$customers =  $this->Customer->find('list', 
                 array('fields' => array('email'),
                 'conditions' => array('event_id' => $this->request->data['Product']['event_id'],
                      'AND' => array('not' => array('Customer.email' => null),'not' => array('Customer.email' => '') 
                  )
              )
          );