Model kapcsolatok kezelése egyszerűen: Containable behavior (Cake 1.2)

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.

Kategória: cakephp, php
Címke: ,
Közvetlen link a könyvjelzőhöz.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s