各オブジェクトは、データベース内の 1 つの行を表します。例:
管理者テーブル
id, first_name, last_name
1, 'John', 'Doe'
$admin オブジェクト (疑似)
class admin extends base {
protected $id;
protected $first_name;
protected $last_name;
public function setter() { }
public function getter() { }
/* ETC */
}
この部分は私には非常に明確です。データを設定、取得、保存できます (この関数は基本クラスにあります)。
別のテーブルに関連する複数の行を持つテーブルを作成する場合、どうすればよいですか。例:
admin_preveleges テーブル
id, admin_id, privilege, value
1, 1, 'read_reports', 1
2, 1, 'delete_news', 1
3, 1, 'delete_users', 1
オブジェクトはどのように見えますか?John Doe 管理者の場合、1 つのオブジェクトに 3 行すべてが含まれますか? それとも、John Doe 用に 3 つのオブジェクトを作成しますか?
これらを管理オブジェクトに接続するにはどうすればよいですか?
3 つの個別のオブジェクトを作成し、それらを $admin オブジェクトに接続した場合、この管理者がユーザーを削除する権限を持っているかどうかを確認するにはどうすればよいでしょうか? すべてのオブジェクトをループして、そのうちの 1 つが「delete_users」であるかどうかを確認してから、ループを中断する必要がありますか?
それとも、特権テーブルをオブジェクトにすることを忘れて、$admin オブジェクト内にそのハンドラーを作成する必要がありますか?