forked from fuel/docs
/
belongs_to.html
111 lines (93 loc) · 4.36 KB
/
belongs_to.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="./../../../assets/css/combined.css">
<link rel="shortcut icon" href="./../../../favicon.ico" />
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
var path = './../../../';
</script>
<script src="./../../../assets/js/combined.js"></script>
<title>Belongs To - Relations - Orm Package - FuelPHP ドキュメント</title>
</head>
<body>
<div id="container">
<header id="header">
<div class="table">
<h1>
<strong>FuelPHP, a PHP 5.3 Framework</strong>
Documentation
</h1>
<form id="google_search">
<p>
<span id="search_clear"> </span>
<input type="submit" name="search_submit" id="search_submit" value="検索" />
<input type="text" value="" id="search_input" name="search_input" />
</p>
</form>
</div>
<nav>
<div class="clear"></div>
</nav>
<a href="#" id="toc_handle">目次</a>
<div class="clear"></div>
</header>
<div id="cse">
<div id="cse_point"></div>
<div id="cse_content"></div>
</div>
<div id="main">
<h2>Orm</h2>
<p>ORMは<a href="http://ja.wikipedia.org/wiki/オブジェクト関係マッピング" target="_blank">オブジェクト
関係マッピング</a>の略です。 これは、2つのことを行います: オブジェクトにデータベースのテーブルの行をマップし、
それはあなたがそれらのオブジェクト間の関係を確立することができます。<br />
それは <a href="http://ja.wikipedia.org/wiki/Active_Record" target="_blank">
Active Record パターン</a>に従いますが、 他のシステムに影響も受けます。</p>
<section>
<h2 id="belongs_to">リレーション: Belongs To</h2>
<p>そのテーブルに保持関係の主キーを持つ、1関連オブジェクトに属します。
これは、<a href="has_one.html">HasOne</a>または <a href="has_many.html">HasMany</a>関係の反対側です。</p>
<h3>例</h3>
<p><kbd>Model_Post</kbd>と、それに属している<kbd>Model_Comment</kbd>があるとしましょう。
(このとき Model_Post に対して comments は<em>1対多</em>の関係にあります) Model_PostのIDは、独自のテーブルで
Model_Commentインスタンスに保存されます。 これは、<kbd>comments</kbd>テーブルは
カラム <kbd>post_id</kbd>(または、設定した他の何か)があることを意味します。 あなたが既定値を維持する場合に必要な作業は、Model_Commentの静的プロパティの
<kbd>$_belongs_to</kbd>に<kbd>'post'</kbd>を追加するだけです:</p>
<pre class="php"><code>protected static $_belongs_to = array('post');</code></pre>
<p>以下は Belongs To 関係を確立し、切断するための例です:</p>
<pre class="php"><code>// 両方のメインと関連オブジェクトをnewする:
$comment = new Model_Comment();
$comment->post = new Model_Post();
$comment->save();
// 両方のメインと関連オブジェクトがすでに存在している
$comment = Model_Comment::find(6);
$comment->post = Model_Post::find(1);
$comment->save();
// 上に確立された関係を切断する。
$comment = Model_Comment::find(6);
$comment->post = null;
$comment->save();</code></pre>
<h3>デフォルト値を持つ完全な設定例</h3>
<pre class="php"><code>// postに属しているModel_Commentで
protected static $_belongs_to = array(
'post' => array(
'key_from' => 'post_id',
'model_to' => 'Model_Post',
'key_to' => 'id',
'cascade_save' => true,
'cascade_delete' => false,
)
);</code></pre>
</section>
</div>
<footer>
<p>
© FuelPHP Development Team 2010-2013 - <a href="http://fuelphp.com">FuelPHP</a> is released under the MIT license.
[ <a href="https://github.com/fuel/docs/commits/1.5/develop/packages/orm/relations/belongs_to.html">原文コミット履歴</a> | <a href="https://github.com/NEKOGET/FuelPHP_docs_jp/commits/1.5/develop_japanese/packages/orm/relations/belongs_to.html">翻訳コミット履歴</a> | <a href="https://github.com/NEKOGET/FuelPHP_docs_jp/blob/1.5/develop_japanese/packages/orm/relations/belongs_to.html">GitHubで修正</a> ]
</p>
</footer>
</div>
</body>
</html>