CakePHP unbindModel çağrı.

3 Cevap php

Nasıl unbindModel pasta oluyor?

$this->User->unbindModel(array('hasAndBelongsToMany' => array('Friend')));

Ben bir fonksiyonun başında bu yazdı. Ama yine de 'Arkadaş' modelini sorgular. Fonksiyonun ortasında) (paginate için bir çağrı oluştu. Yani paginator sorguları getirici düşündüm.

Ben sadece daha önce paginate bir unbindModel çağrı ilave etmedi ve şimdi çalışıyor.

$this->User->unbindModel(array('hasAndBelongsToMany' => array('Friend')));
$user = $this->paginate("User", array("User.first_name LIKE" => $user["User"]["first_name"]));

UnbindModel her sorgu salmak mı? ya da tüm işlev çağrısı sırasında salmak nedir?

3 Cevap

From the manual:

Çıkarma veya kullanarak bağlama-ve unbindModel (ikinci parametre false olarak ayarlandı sürece) sadece the next model operation için çalışır dernekler ekledi. İkinci parametre false olarak ayarlandı ise, bağlama isteği kalanı için yerinde kalır.

Diğer bir deyişle, senden sonra paginate() veya find() veya modeli ile başka bir şey yapmak, unbinding tersine dönecek.

Peki, keser ile benim deneyim, ben Sayfalandýr'ý hep sonuç dizi için toplam ve ikinci saymak için 2 querys birini yapın söyleyebilirim

sadece bir kez ilişkinin zaman ve yea sen ben bu kuralı devam sanırım DOĞRU ayarlamak gerekir, böylece iki veya daha fazla kez yok etmek için bu kuralı genişletmek gerek yok salmak:

$this->User->unbindModel(array('hasAndBelongsToMany' => array('Friend')), true);

Genel anlamda, Model :: unbindModel () aramak gerekmez. Dernekler a bulmak üzerine getirilen ne denetlemek için daha iyi yollar vardır. Dernekler daha iyi olmak ve Model-> recursive kabul edilebilir sınırlamak için Containable Davranışı kullanma.

Sayfalaması da içerir ve özyinelemeli parametreleri hem de kabul eder.

https://github.com/cakephp/cakephp/issues/2542#issuecomment-31171325