私はこれを私のPork.dbObjectのように解決しました。この方法は、任意のデータベースまたはORM機能が離れポーリングオブジェクトから抽象化されていることをP
class Poll extends dbObject // dbObject is my ORM. Poll can extend it so it gets all properties.
{
function __construct($ID=false)
{
$this->__setupDatabase('polls', // db table
array('ID_Poll' => 'ID', // db field => object property
'strPollQuestion' => 'strpollquestion',
'datPublished' => 'datpublished',
'datCloseDate' => 'datclosedate',
'enmClosed' => 'enmclosed',
'enmGoedgekeurd' => 'enmgoedgekeurd'),
'ID_Poll', // primary db key
$ID); // primary key value
$this->addRelation('Pollitem'); //Connect PollItem to Poll 1;1
$this->addRelation('Pollvote', 'PollUser'); // connect pollVote via PollUser (many:many)
}
function Display()
{
// do your displayíng for poll here:
$pollItems = $this->Find("PollItem"); // find all poll items
$alreadyvoted = $this->Find("PollVote", array("IP"=>$_SERVER['REMOTE_ADDR'])); // find all votes for current ip
}
注:それをチェックアウトし、私はすでにやったbraincrunchingの一部を暗礁することを確認します。知るにはにはが必要ではありません。フィールド/マッピングをフックアップするためのセットアップデータベースです。他のdbObjectとの関係をフックアップするためのaddRelation
また、dbObjectクラスでさえ、SQLについてあまり知りません。選択/結合クエリは特別なQueryBuilderオブジェクトによって構築されます。
さらに別のORM?これも同様にオープンソースになるのだろうか?気になります! – Till
タイトルとタグの "PHP"を削除することが考えられるかもしれません。これは、OOPについての非常に一般的な質問であり、PHPには特別なものではないからです。 – nickf
質問にはPHPが参照されていますが、それはOOPの質問のためです。 – Chris