A ThinkingPHP.org-on jelent meg nem is olyan régen egy kis kód, amely cakephp 1.2 alatt leegyszerűsíti és felgyorsítja az on-the-fly model-kapcsolatok kezelését.
A dolog nagyon egyszerű:
- az app/models/behaviors könyvtárba be kell másolni az oldalról letöltött kódot (containable.php néven)
- az AppModelbe be kell tenni egy sort:
var $actsAs = array('Containable');
és már működik is.
Használata: a controller-ben egyszerűen:
$this->User->contain(array('UserType', 'Group' => array('GroupPermission'), 'Post' => array('Category', 'Comment' => 'User') ) );
vagy:
$this->User->contain( 'UserType', 'Group.GroupPermission', 'Post.Category', 'Post.RelatedPost', 'Post.Comment.User' );
Tehát használható tömb paraméterrel, vagy egyszerű (pontokkal szeparált) stringgel is. Sőt, akár vegyesen is. A továbbiakban nem kell aggódni a különböző model-ekben (többé-kevésbé jól) beállított $recursive tulajdonságról, azt is intézi. A kevesebb gépelésről pedig ne is beszéljünk.
Reklámok