2016-03-19 39 views
1

Merhaba Kullanıcı modelinde Benzer ilişki var.CakePHP Pagination Count Sorgu Çalışmıyor

UserModel

public $hasOne = [ 
     'Userdetail' => [ 
      'className' => 'Userdetail', 
      'foreignKey' => 'user_id' 
     ], 
     'Application' => [ 
      'className' => 'Application', 
      'foreignKey' => 'user_id' 
     ], 
    ]; 

aşağıda MyConroller Like ekstra HasOne İlişki eklemek vardır:

Kontrolör

$this->User->bindModel([ 
      'hasOne' => [ 
       'Events' => [ 
        'className' => 'Events', 
        'foreignKey' => 'user_id', 
        'dependent' => true, 
       ] 
      ] 
     ]); 

aşağıda gibi kullanıcı modeli ile sayfalama oluşturmak duyuyorum :

Sayfalandırmayı

$this->paginate = [ 
      'conditions' => [ 
       $this->conditions, 
       'Events.id !=' => null 
      ], 
      'order' => 'User.id DESC' 
     ]; 

Kimin olay kimliği ben sayfalandırma durumda bu koymak böylece boş olduğunu kaydını istemiyoruz. Daha az hata aldım.

Unknown column 'Events.id' in 'where clause' 

Etkinliğin modeli sayfalandırmada Kont sorguda yansıtmak değildir.

Lütfen bu konuda bana yardımcı olun.

Yardım için şimdiden teşekkür ederiz.

+0

'$ this-> User> bindModel ([ \t 'hasOne' => [ \t \t 'Olay' => [ \t \t \t 'className' => 'Olaylar' Model::bindModel() Bkz, \t \t \t 'ForeignKey' => 'user_id', \t \t \t 'bağımlı' => doğru, \t \t] \t \t 'koşullar' => [ '! Events.id =' => boş, \t \t] \t] ]); 've condition' –

+0

paginate 'çıkarın Resim bu, bu deneyin CakePhp 2.6 –

+0

olan @ Anant ama çalışmıyor –

cevap

0

Değişikliklerin kalıcı hale getirmek bindModel ikinci parametre olarak false eklemek zorunda:

$this->User->bindModel([ 
     'hasOne' => [ 
      'Events' => [ 
       'className' => 'Events', 
       'foreignKey' => 'user_id', 
       'dependent' => true, 
      ] 
     ] 
    ],false); 

Aksi CakePHP farklıdır sayımı, üreten ikinci sorguda önceden tanımlanmış ilişkilere geri dönecektir sonuçları alan ilk.