I'm trying to implement the Active Record pattern to a ZF project. I used to work with a similar approch before ve it works well.
Ama şimdi benim sorunum, benim modelleri ile çok-çok ilişkisi nasıl işleneceğini hakkında.
İşte bir örnek:
Diyelim ki bir kullanıcı modeli var diyelim.
<?php
require_once 'MLO/Model/Model.php';
class Model_User extends MLO_Model_Model
{
protected $_data = array(
'id' => NULL,
'email' => NULL,
'password' => NULL,
);
}
Hiçbir sorun.
Ama ne bir Grup modeli eklerseniz?
require_once 'MLO/Model/Model.php';
class Model_Group extends MLO_Model_Model
{
protected $_data = array(
'id' => NULL,
'name' => NULL,
'desc' => NULL,
);
}
ve
require_once 'MLO/Model/Collection.php';
class Model_Groups extends MLO_Model_Collection
{
protected $_modelClass = 'Model_Group';
}
I have then a mapper which convert results from the db to model object, ve vice versa.
My question is, how to hvele many-to-many relationship with my models ?
Nerede "ilişkiyi kaydetmek" gerekir?
İşte ben düşünmek bazı ipuçları olduğunu:
class Model_User extends MLO_Model_Model
{
protected $_data = array(
'id' => NULL,
'name' => NULL,
'desc' => NULL,
'groups' => NULL, // where groups will be an instance of the Model_Groups
);
}
Aynı yaklaşımla, nerede grupları gibi bir dizi olacak:
array(3) {
[0]=>
array(3) {
["id"]=>
string(1) "9"
["name"]=>
string(1) "Guest"
["desc"]=>
string(1) "Some desc"
}
[1]=>
array(3) {
["id"]=>
string(1) "64"
["name"]=>
string(1) "Moderator"
["desc"]=>
string(1) "Some desc"
}
[2]=>
array(3) {
["id"]=>
string(1) "5"
["name"]=>
string(1) "Admin"
["desc"]=>
string(1) "Some desc"
}
}
Başka bir fikir?
P.S : I'm not trying to hvele ACLs or similar things, it's just for example.