<?xml version="1.0" encoding="UTF-8"?>
<page xmlns="http://api.springnote.com">
  <identifier type="integer">365949</identifier>
  <title>06. &#47784;&#45944; (Models) - &#50629;&#45936;&#51060;&#53944;&#51473;</title>
  <relation_is_part_of type="integer">365932</relation_is_part_of>
  <date_modified type="datetime">2007-11-07T10:20:14Z</date_modified>
  <uri>http://cakephp.springnote.com/pages/365949</uri>
  <date_created type="datetime">2007-07-13T15:08:05Z</date_created>
  <source>&lt;div id="toc" style="border: 1px solid tan; padding: 2px 10px 0px; background-color: rgb(255, 255, 250);"&gt;
&lt;p&gt;&lt;strong&gt;&#47785;&#52264;&lt;/strong&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="/pages/365949#toc_0" class="external" title="toc_0"&gt;6. &#47784;&#45944; (Models)&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="/pages/365949#toc_1" class="external" title="toc_1"&gt;6.1. &#47784;&#45944;&#51060;&#46976;?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/365949#toc_2" class="external" title="toc_2"&gt;6.2. &#47784;&#45944; &#54632;&#49688;&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="/pages/365949#toc_3" class="external" title="toc_3"&gt;6.2.1. &#49324;&#50857;&#51088; &#54632;&#49688;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/365949#toc_4" class="external" title="toc_4"&gt;6.2.2. &#45936;&#51060;&#53552; &#52628;&#52636;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/365949#toc_5" class="external" title="toc_5"&gt;6.2.3. &#48373;&#54633; &#51312;&#44148; &#44160;&#49353; (&#48176;&#50676; &#51060;&#50857;)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/365949#toc_6" class="external" title="toc_6"&gt;6.2.4. &#45936;&#51060;&#53552; &#51200;&#51109;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/365949#toc_7" class="external" title="toc_7"&gt;6.2.5. &#47784;&#45944; &#53084;&#48177;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/365949#toc_8" class="external" title="toc_8"&gt;6.3. &#47784;&#45944;&#51032; &#48320;&#49688;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/365949#toc_9" class="external" title="toc_9"&gt;6.4. &#44288;&#47144; (association)&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="/pages/365949#toc_10" class="external" title="toc_10"&gt;6.4.1. &#49548;&#44060;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/365949#toc_11" class="external" title="toc_11"&gt;6.4.2. hasOne &#51221;&#51032;&#54616;&#44592;&#50752; &#51656;&#51032;&#54616;&#44592;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/365949#toc_12" class="external" title="toc_12"&gt;6.4.3. belongsTo&amp;nbsp;&#51221;&#51032;&#54616;&#44592;&#50752; &#51656;&#51032;&#54616;&#44592;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/365949#toc_13" class="external" title="toc_13"&gt;6.4.4. hasMany &#51221;&#51032; &#48143; &#51656;&#51032;&#54616;&#44592;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/365949#toc_14" class="external" title="toc_14"&gt;6.4.5. hasAndBelongToMany &#51221;&#51032; &#48143; &#51656;&#51032;&#54616;&#44592;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/365949#toc_15" class="external" title="toc_15"&gt;6.4.6. &#44288;&#47144; &#45936;&#51060;&#53552; &#51200;&#51109;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/365949#toc_16" class="external" title="toc_16"&gt;6.4.7. hasAndBelongsToMany &#51032; &#51200;&#51109;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/365949#toc_17" class="external" title="toc_17"&gt;6.4.8. &#50528;&#54540;&#47532;&#51060;&#49496; &#51089;&#46041;&#51473; bindModel() &#44284; unbindModel() &#51060;&#50857;&#54616;&#50668; &#44288;&#47144; &#48320;&#44221;&#54616;&#44592;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&#50669;&#51088;&#51452; : &#54788;&#51116; &#51068;&#48512; &#49465;&#49496;&#51032; &#48264;&#50669;&#51060; &#46104;&#50612; &#51080;&#51648; &#50506;&#49845;&#45768;&#45796;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;6. &#47784;&#45944; (Models)&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365949#toc_0" class="anchor" title="toc_0" id="toc_0" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;6.1. &#47784;&#45944;&#51060;&#46976;?&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365949#toc_1" class="anchor" title="toc_1" id="toc_1" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h4&gt;
&lt;p&gt;&#47784;&#45944;&#51008; &#50612;&#46500; &#51068;&#51012; &#54616;&#45716;&#44032;? &#46020;&#47700;&#51064; &#47196;&#51649;&#51012; &#54364;&#49884; &#48512;&#48516;&#50640;&#49436; &#48516;&#47532;&#54616;&#44256;, &#50528;&#54540;&#47532;&#52992;&#51060;&#49496;&#51032; &#47196;&#51649;&#47564;&#51012; &#48516;&#47532;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#47784;&#45944;&#51060;&#46976; &#51068;&#48152;&#51201;&#51004;&#47196; &#45936;&#51060;&#53552;&#48288;&#51060;&#49828;&#47484; &#45208;&#53440;&#45240;&#45796;. &#45908; &#44396;&#52404;&#51201;&#51004;&#47196; &#45936;&#51060;&#53552;&#48288;&#51060;&#49828;&#45236;&#51032; &#53945;&#51221; &#53580;&#51060;&#48660;&#51012; &#45208;&#53440;&#45240;&#45796;. &#44592;&#48376;&#51201;&#51004;&#47196; &#44033;&#44033;&#51032; &#47784;&#45944;&#51008; &#48373;&#49688;&#54805;&#51032; &#51060;&#47492;&#51060; &#48537;&#51008; &#53580;&#51060;&#48660;&#50640; &#45824;&#51025;&#54616;&#45716; &#45800;&#49688;&#54805;&#51032; &#53364;&#47000;&#49828;&#44032; &#46108;&#45796;. &#50696;&#47484; &#46308;&#47732;, 'User' &#47784;&#45944;&#51008; 'Users' &#53580;&#51060;&#48660;&#51012; &#49324;&#50857;&#54620;&#45796;. &#47784;&#45944;&#50640;&#45716; &#46608; &#45936;&#51060;&#53552; &#44160;&#51613; &lt;span&gt;(validation)&lt;/span&gt; &#51012; &#50948;&#54620; &#47344;, &lt;span&gt;&#44288;&#47144; (association)&lt;/span&gt; &#51221;&#48372;, &#53580;&#51060;&#48660; &#53945;&#50976;&#51032; &#47700;&#49548;&#46300; &#46321;&#51012; &#54252;&#54632;&#49884;&#53420; &#49688; &#51080;&#45796;. &#45796;&#51020;&#51008; &#44036;&#45800;&#54620; User &#47784;&#45944;&#51060; Cake &#45236;&#50640;&#49436; &#50612;&#46523;&#44172; &#46104;&#45716;&#51648; &#48372;&#50668;&#51456;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&#50696; 6.1. User &#47784;&#45944;&#51032; &#50696;, /app/models/user.php &#50640; &#51200;&#51109;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;&lt;span&gt;&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
//AppModel &#50640;&#49436;&#45716; Cake &#51032; &#47784;&#45944;&#51032; &#44592;&#45733;&#51012; &#51204;&#48512; &#51228;&#44277;&#54616;&#44256; &#51080;&#45796;&lt;br /&gt;
&lt;br /&gt;
class User extends AppModel&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; // &#51060; &#48320;&#49688;&#47484; &#54252;&#54632;&#49884;&#45716; &#44163;&#51008; &#54637;&#49345; &#51339;&#51008; &#49845;&#44288;&#51060;&#45796;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var $name = 'User';&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; // &#51060;&#44163;&#51008; &#44160;&#51613; (validation) &#50640; &#49324;&#50857;&#46108;&#45796;, "&#51088;&#47308; &#44160;&#51613; (Data Validation)" &#51109;&#51012; &#48372;&#46972;.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var $validate = array();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; // &#44288;&#47144; (association) &#51012; &#51221;&#51032;&#54624; &#49688; &#51060;&#45796;.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; // 6.3 &#49465;&#49496;&#50640; &#51088;&#49464;&#55176; &#45208;&#50728;&#45796;.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var $hasMany = array('Image' =&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;array('className' =&amp;gt; 'Image')&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; // &#49324;&#50857;&#51088; &#54632;&#49688;&#47484; &#54252;&#54632;&#49884;&#53420; &#49688; &#51080;&#45796;:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; function makeInactive($uid)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // &#51088;&#49888; &#47196;&#51649;&#51012; &#50668;&#44592;&#50640;...&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;6.2. &#47784;&#45944; &#54632;&#49688;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365949#toc_2" class="anchor" title="toc_2" id="toc_2" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h4&gt;
&lt;p&gt;PHP &#50640;&#49436; &#48372;&#47732;, &#47784;&#45944;&#51008; AppModel &#53364;&#47000;&#49828;&#47484; &#54869;&#51109; (extend) &#54620; &#53364;&#47000;&#49828;&#51060;&#45796;. &#50896;&#47000;&#51032; AppModel &#53364;&#47000;&#49828;&#45716; cake/ &#46356;&#47112;&#53664;&#47532;&#50640; &#49440;&#50616;&#46104;&#50612; &#51080;&#51648;&#47564;, &#51649;&#51217; &#45796;&#49884; &#47564;&#46308; &#44221;&#50864;&amp;nbsp; app/app_model.php &#50640; &#46168; &#49688; &#51080;&#45796;. &#51060; &#50504;&#50640;&#45716; &#50668;&#47084; &#47784;&#45944;&#51012; &#44277;&#50976;&#54616;&#45716; &#47700;&#49548;&#46300;&#47484; &#45347;&#45716;&#45796;. &#51060; &#53364;&#47000;&#49828;&#45716; cake/libs/model/model.php &#45236;&#50640; &#49440;&#50616;&#46104;&#50612; &#51080;&#45716; &#54364;&#51456; Cake &#46972;&#51060;&#48652;&#47084;&#47532;&#51032; &#54616;&#45208;&#51064; &#47784;&#45944; (Model) &#53364;&#47000;&#49828;&#47484; &#54869;&#51109;&#54620; &#44163;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51060; &#49465;&#49496;&#50640;&#49436;&#45716; Cake &#47784;&#45944;&#50640; &#44288;&#54644; &#51088;&#51452; &#49324;&#50857;&#46104;&#45716; &#54632;&#49688;&#50640; &#45824;&#54644; &#45796;&#47336;&#51648;&#47564;, &#51204;&#52404; &#47112;&#54140;&#47088;&#49828;&#45716; &lt;a href="http://api.cakephp.org/"&gt;http://api.cakephp.org&lt;/a&gt; &#50640; &#51080;&#45716; &#44163;&#51012; &#44592;&#50613;&#54644; &#46188;&#50556; &#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h5&gt;6.2.1. &#49324;&#50857;&#51088; &#54632;&#49688;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365949#toc_3" class="anchor" title="toc_3" id="toc_3" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h5&gt;
&lt;p&gt;&#47784;&#45944;&#45236;&#50640; &#53580;&#51060;&#48660; &#53945;&#50976;&#51032; &#47700;&#49548;&#46300;&#47484; &#50416;&#45716; &#50696;&#47196;, &#48660;&#47196;&#44536;&#51032; &#54252;&#49828;&#53944;&#47484; &#44048;&#52628;&#44256;/&#48372;&#51060;&#45716; &#54620;&#49933;&#51032; &#47700;&#49548;&#46300;&#47484; &#48372;&#50668;&#51456;&#45796;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&#50696; 6.2. &#47784;&#45944; &#54632;&#49688;&#51032; &#50696;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;&lt;span&gt;&amp;lt;?php&lt;br /&gt;
class Post extends AppModel&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp;var $name = 'Post';&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;function hide ($id=null)&lt;br /&gt;
&amp;nbsp; &amp;nbsp;{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; if ($id)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;id = $id;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;saveField('hidden', '1');&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;function unhide ($id=null)&lt;br /&gt;
&amp;nbsp; &amp;nbsp;{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; if ($id)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;id = $id;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;saveField('hidden', '0');&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h5&gt;6.2.2. &#45936;&#51060;&#53552; &#52628;&#52636;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365949#toc_4" class="anchor" title="toc_4" id="toc_4" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h5&gt;
&lt;p&gt;&#45796;&#51020;&#51008; &#47784;&#45944;&#51012; &#51060;&#50857;&#54644; &#45936;&#51060;&#53552;&#47484; &#52628;&#52636;&#54616;&#45716; &#47751;&#44032;&#51648; &#54364;&#51456;&#51201;&#51064; &#48169;&#48277;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li class="first"&gt;&lt;strong&gt;findAll&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;string &lt;em class="italic"&gt;$conditions&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;array &lt;em class="italic"&gt;$fields&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;string &lt;em class="italic"&gt;$order&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;int &lt;em class="italic"&gt;$limit&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;int &lt;em class="italic"&gt;$page&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;int &lt;em class="italic"&gt;$recursive&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51648;&#51221;&#46108; &#54596;&#46300;&#50640;&#49436; (&#47564;&#51068; &#51648;&#51221;&#46104;&#50612; &#51080;&#51012; &#44221;&#50864;), $conditions &#50640; &#51077;&#47141;&#46108; &#44163;&#51012; $page (&#44592;&#48376;&#44050;&#51008; 1 &#54168;&#51060;&#51648;) &#54168;&#51060;&#51648;&#50640;&#49436; $limit &#47112;&#53076;&#46300;&#44620;&#51648; &#48152;&#54872;&#54620;&#45796;. $conditions &#45716; SQL &#47928;&#50640;&#49436; &#52376;&#47100; (&#50696;&#47484; &#46308;&#47732;), $conditions = "race = 'wookie' AND thermal_detonators &amp;gt; 3"&amp;nbsp; &#46972;&#44256; &#50420;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$recursive &#50741;&#49496;&#51060; &#51221;&#49688;&#44050; 1 &#48372;&#45796; &#53356;&#44172; &#49444;&#51221; &#46104;&#50612; &#51080;&#45716; &#44221;&#50864;, findAll() &#46041;&#51089;&#51008;, findAll() &#50640;&#49436; &#48156;&#44204;&#46108; &#44288;&#47144; &#47784;&#45944;&#50640; &#44288;&#54616;&#50668;&#46020; &#44208;&#44284;&#47484; &#48152;&#54872;&#54620;&#45796;. &#47564;&#51068;, &#49549;&#49457;&#50640; &#50668;&#47084; &#49548;&#50976;&#51088;&#44032; &#51080;&#44256;, &#44536; &#44033; &#49548;&#50976;&#51088;&#50640; &#50668;&#47084; &#51333;&#49549;&#44288;&#44228;&#44032; &#51080;&#45716; &#44221;&#50864;, &#49549;&#49457; &#47784;&#45944;&#49345;&#51032; &#51116;&#44480;&#54632;&#49688; findAll()&#51008; &#50672;&#44288;&#46104;&#45716; &#47784;&#45944;&#51012; &#48152;&#54872;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li class="first"&gt;&lt;strong&gt;find&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;string &lt;em class="italic"&gt;$conditions&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;array &lt;em class="italic"&gt;$fields&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;string &lt;em class="italic"&gt;$order&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;int &lt;em class="italic"&gt;$recursive&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$conditions &#50640; &#51077;&#47141;&#46108; &#52395;&#48264;&#51704; &#47112;&#53076;&#46300;&#50640;&#49436; &#51648;&#51221;&#46108; &#54596;&#46300;(&#51648;&#51221;&#54616;&#51648; &#50506;&#51004;&#47732; &#47784;&#46304; &#54596;&#46300;)&#47484; &#48152;&#54872;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$recursive &#50741;&#49496;&#51060; &#51221;&#49688;&#44050; 1&#44284; 3 &#49324;&#51060;&#50640; &#49444;&#51221;&#46104;&#47732;, find() &#46041;&#51089;&#51008;, find() &#50640; &#48156;&#44204;&#46108; &#47784;&#45944;&#50640; &#44288;&#47144;&#46104;&#50612; &#51080;&#45716; &#47784;&#45944;&#46020; &#48152;&#54872;&#54620;&#45796;. &#51116;&#44480;&#51201; find &#45716;, 3&#45800;&#44228;&#44620;&#51648; &#51652;&#54665;&#54624; &#49688; &#51080;&#45796;. &#47564;&#51068;, &#49549;&#49457;&#50640; &#50668;&#47084; &#49548;&#50976;&#51088;&#44032; &#51080;&#44256;, &#44536; &#44033; &#49548;&#50976;&#51088;&#50640; &#50668;&#47084; &#51333;&#49549;&#44288;&#44228;&#44032; &#51080;&#45716; &#44221;&#50864;, &#49549;&#49457; &#47784;&#45944;&#49345;&#51032; &#51116;&#44480;&#54632;&#49688; find() &#45716; &#50672;&#44288;&#46104;&#45716; &#47784;&#45944;&#51012; 3&#45800;&#44228;&#44620;&#51648; &#48152;&#54872;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li class="first"&gt;&lt;strong&gt;findAllBy&amp;lt;fieldName&amp;gt;&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;string &lt;em class="italic"&gt;$value&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51060; &#47588;&#51649; &#54632;&#49688;&#45716;, &#53580;&#51060;&#48660;&#51032; &#53945;&#51221; &#54596;&#46300;&#45208; &#44050;&#51012; &#48736;&#47476;&#44172; &#44160;&#49353;&#54624; &#46412; &#49324;&#50857;&#54624; &#49688; &#51080;&#45796;. &#44160;&#49353;&#54620; &#54596;&#46300;&#47749;&#51012; &#45209;&#53440; &#54364;&#44592;&#48277;&#51004;&#47196; &#52628;&#44032;&#54620;&#45796;. (&#52968;&#53944;&#47204;&#47084;&#45236;&#50640;&#49436; &#49324;&#50857;&#54624;) &#50696;&#51228;&#45716; &#50500;&#47000;&#50752; &#44057;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;$this-&amp;gt;Post-&amp;gt;findByTitle('My First Blog Post');&lt;br /&gt;
$this-&amp;gt;Author-&amp;gt;findByLastName('Rogers');&lt;br /&gt;
$this-&amp;gt;Property-&amp;gt;findAllByState('AZ');&lt;br /&gt;
$this-&amp;gt;Specimen-&amp;gt;findAllByKingdom('Animalia');&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#44208;&#44284;&#45716;, find() &#45208; findAll() &#44284; &#44057;&#51008; &#48169;&#48277;&#51004;&#47196; &#54805;&#49885;&#54868;&#46108; &#48176;&#50676;&#47196; &#44208;&#44284;&#47484; &#48152;&#54872;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li class="first"&gt;&lt;strong&gt;findNeighbours&lt;/strong&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;string &lt;em class="italic"&gt;$conditions&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;array &lt;em class="italic"&gt;$field&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;string &lt;em class="italic"&gt;$value&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$field &#50752; $value &#50640;&#49436; &#51648;&#51221;&#54620; &#54596;&#46300;&#47484;, $conditions &#51032; SQL &#51032; &#51312;&#44148;&#51004;&#47196; &#54596;&#53552;&#47553;&#54616;&#44256;, &#51064;&#51217;&#54620;&amp;nbsp;&#47784;&#45944;(&#51648;&#51221;&#46108; &#54596;&#46300;&#47564;)&#51032; &#45936;&#51060;&#53440;&#47484;&amp;nbsp;&#48176;&#50676;&#47196; &#48152;&#54872;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&#51060;&#44163;&#51008; &#47784;&#45944;&#51032; &#50644;&#53944;&#47532;&#47484; &#53945;&#51221; &#49692;&#49436;&#50640; &#46384;&#46972; &#51221;&#47148;&#54616;&#50668;, '&#51060;&#51204;' &#46608;&#45716; '&#45796;&#51020;' &#51032; &#47553;&#53356;&#44032; &#54596;&#50836;&#54624; &#46412; &#54200;&#47532;&#54616;&#45796;. &#51060; &#54632;&#49688;&#45716; &#49707;&#51088; &#46608;&#45716; &#45216;&#51676;&#51032; &#54596;&#46300;&#51032; &#44221;&#50864;&#47564; &#51089;&#46041;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;class ImagesController extends AppController&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; function view($id)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // &#51060;&#48120;&#51648;&#47484; &#54364;&#49884;&#54616;&#44256; &#49910;&#45796;&#44256; &#47568;&#54620;&#45796;...&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;set('image', $this-&amp;gt;Image-&amp;gt;find("id = $id");&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // &#54616;&#51648;&#47564;, '&#51060;&#51204;'&#44284; '&#45796;&#51020;' &#51060;&#48120;&#51648;&#46020; &#54596;&#50836;&#54620; &#44221;&#50864;&#50640;&#45716;..&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;set('neighbours', $this-&amp;gt;Image-&amp;gt;findNeighbours(null, 'id', $id);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51060;&#50752; &#44057;&#51060; &#54616;&#47732;, $ image['Image'] &#48176;&#50676; &#51204;&#52404;&#50752;, $neighbours['prev']['Image']['id'] &#50752; $ neighbours['next']['Image']['id'] &#47484; view &#50640;&#49436; &#49324;&#50857;&#54624; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li class="first"&gt;&lt;strong&gt;field&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;string &lt;em class="italic"&gt;$name&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;string &lt;em class="italic"&gt;$conditions&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;string &lt;em class="italic"&gt;$order&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span class="emphasis"&gt;&lt;em class="italic"&gt;$conditions&lt;/em&gt;&lt;/span&gt; &#44050;&#50640; &#51077;&#47141;&#46104;&#50612; &lt;span class="emphasis"&gt;&lt;em class="italic"&gt;$order&lt;/em&gt;&lt;/span&gt; &#47196; &#51221;&#47148;&#46108; &#52395;&#48264;&#51704; &#47112;&#53076;&#46300;&#51032; &#52395; &#54596;&#46300;&#47484; &#47928;&#51088;&#50676;&#47196; &#48152;&#54872;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li class="first"&gt;&lt;strong&gt;findCount&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;string &lt;em class="italic"&gt;$conditions&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51452;&#50612;&#51652; &#51312;&#44148;&#50640; &#47582;&#45716; &#47112;&#53076;&#46300;&#51032; &#49688;&#47484; &#48152;&#54872;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li class="first"&gt;&lt;strong&gt;generateList&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;string &lt;em class="italic"&gt;$conditions&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;string &lt;em class="italic"&gt;$order&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;int &lt;em class="italic"&gt;$limit&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;string &lt;em class="italic"&gt;$keyPath&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;string &lt;em class="italic"&gt;$valuePath&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51060; &#54632;&#49688;&#45716; &#53412;(key)/&#44050;(value) &#54620;&#49933;&#51004;&#47196; &#44396;&#49457;&#46108; &#47785;&#47197;&#51012; &#52628;&#52636;&#54616;&#45716; &#48148;&#47196;&#44032;&#44592;&#51060;&#45796;. &#53945;&#55176;, &#47784;&#45944;&#51032; &#47785;&#47197;&#51004;&#48512;&#53552; html&#51032; select &#53468;&#44536;&#47484; &#47564;&#46308; &#46412; &#54200;&#47532;&#54616;&#45796;. findAll() &#44284;&amp;nbsp; &#44057;&#51060;, $conditions, $order, $limit &#54028;&#46972;&#48120;&#53552;&#47484; &#49324;&#50857;&#54620;&#45796;.&amp;nbsp;$keyPath &#50752; $valuePath &#50640;&#49436;&amp;nbsp;&#50612;&#46500; &#44163;&#51012; key &#50752; value &#47196; &#54624;&#51648; &#51648;&#51221;&#54620;&#45796;. &#50696;&#47484; &#46308;&#47732;, integer &#51032; id &#47484; key &#46972;&#44256; &#54620; &#50669;&#54624;(role) &#47785;&#47197;&#51012; &#50669;&#54624; &#47784;&#45944;&#47196;&#48512;&#53552; &#47564;&#46308;&#44256; &#49910;&#51008; &#44221;&#50864;&#50640;&#45716; &#50500;&#47000;&#50752; &#44057;&#51060; &#54616;&#47732; &#44536;&#47564;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;$this-&amp;gt;set(&lt;br /&gt;
&amp;nbsp; &amp;nbsp; 'Roles',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; $this-&amp;gt;Role-&amp;gt;generateList(null, 'role_name ASC', null, '{n}.Role.id', '{n}.Role.role_name')&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
// &#51060;&#50752; &#44057;&#51060; &#48152;&#54872;&#46112; &#44163;&#51060;&#45796;.&lt;br /&gt;
array(&lt;br /&gt;
&amp;nbsp; &amp;nbsp; '1' =&amp;gt; 'Account Manager',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; '2' =&amp;gt; 'Account Viewer',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; '3' =&amp;gt; 'System Manager',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; '4' =&amp;gt; 'Site Visitor'&lt;br /&gt;
);&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li class="first"&gt;&lt;strong&gt;read&lt;/strong&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;string &lt;em class="em"&gt;$fields&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;string &lt;em class="em"&gt;$id&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#54788;&#51116; &#47196;&#46377;&#46108; &#47112;&#53076;&#46300;, &#46608;&#45716; $id &#47196;&amp;nbsp;&#51648;&#51221;&#54620; &#47112;&#53076;&#46300;&#48512;&#53552;, &#54596;&#46300;&#50752; &#44050;&#51012; &#50619;&#44256; &#49910;&#51008; &#44221;&#50864;&#50640; &#51060; &#54632;&#49688;&#47484; &#49324;&#50857;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;read() &#46041;&#51089;&#51008; &#47784;&#45944;&#51032; $recursive &#50640; &#44288;&#44228; &#50630;&#51060;, &#44288;&#47144;&#46104;&#50612; &#51080;&#45716; &#47784;&#45944;&#51032; &#54616;&#45208;&#51032; &#47112;&#48296;&#47564; &#44032;&#51256;&#50724;&#45716; &#51216;&#50640; &#51452;&#51032;&#54620;&#45796;. &#44536; &#51060;&#49345;&#51032; &#47112;&#48296;&#44620;&#51648; &#44032;&#51256; &#50724;&#47140;&#47732;, find() &#45208; findAll() &#51012; &#49324;&#50857;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li class="first"&gt;&lt;strong&gt;query&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;string &lt;em class="em"&gt;$query&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li class="first"&gt;&lt;strong&gt;execute&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;string &lt;em class="em"&gt;$query&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#47784;&#45944;&#51032; query() &#50752; execute() &#47700;&#49548;&#46300;&#47484; &#49324;&#50857;&#54616;&#47732;, &#52964;&#49828;&#53568; SQL &#51012; &#54840;&#52636;&#54624; &#49688; &#51080;&#45796;. &#51060; &#46168;&#51032; &#52264;&#51060;&#51216;&#51008;, query() &#44032; &#52964;&#49828;&#53568; SQL &#53244;&#47532;(&#44208;&#44284;&#44032; &#48152;&#54872;&#46108;&#45796;)&#51012; &#47564;&#46308;&#46412; &#49324;&#50857;&#46104;&#44256;, execute() &#45716; &#52964;&#49828;&#53568; SQL &#51032; &#49892;&#54665;(&#48152;&#54872; &#44050;&#51008; &#54596;&#50836; &#50630;&#51020;)&#51012; &#54620;&#45796; &#51216;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&#50696; 6.3. query() &#47484; &#51060;&#50857;&#54620; &#52964;&#49828;&#53568; SQL &#54840;&#52636;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;&lt;span&gt;&amp;lt;?php&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;class Post extends AppModel&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;{&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; var $name = 'Post';&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; function posterFirstName()&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $ret = $this-&amp;gt;query("SELECT first_name FROM posters_table&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WHERE poster_id = 1");&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $firstName = $ret[0]['first_name'];&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $firstName;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;}&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;?&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h5&gt;6.2.3. &#48373;&#54633; &#51312;&#44148; &#44160;&#49353; (&#48176;&#50676; &#51060;&#50857;)&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365949#toc_5" class="anchor" title="toc_5" id="toc_5" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h5&gt;
&lt;p&gt;&#45824;&#48512;&#48516;&#51032; &#47784;&#45944;&#51032; find &#54840;&#52636;&#51008; &#54616;&#45208; &#46608;&#45716; &#45796;&#47480; &#51312;&#44148; &#51204;&#45804;&#51012; &#49688;&#48152;&#54620;&#45796;. &#51060;&#44163;&#51032; &#44032;&#51109; &#44036;&#45800;&#54620; &#51217;&#44540;&#51008; SQL &#50640; WHERE &#51208;&#51012; &#49324;&#50857;&#54616;&#45716; &#44163;&#51060;&#51648;&#47564;, &#45908; &#47566;&#51008; &#51312;&#51089;&#51060; &#54596;&#50836;&#54616;&#45796;&#47732;, &#48176;&#50676;&#51012; &#49324;&#50857;&#54624; &#49688; &#51080;&#45796;. &#48176;&#50676;&#51012; &#49324;&#50857;&#54616;&#47732; &#45908;&#50865; &#51069;&#44592; &#49789;&#44256;, &#44628;&#45140;&#54616;&#47728; &#44172;&#45796;&#44032; &#53244;&#47532; &#51089;&#49457;&#51060; &#49772;&#50892;&#51652;&#45796;. &#51060; &#47928;&#48277;&#51008; &#49888;&#51473;&#54616;&#44256; &#51096; &#45796;&#47344; &#49688; &#51080;&#45716; &#48512;&#48516; &#49549;&#51004;&#47196; &#53244;&#47532;&#51032; &#50836;&#49548; (&#54596;&#46300;, &#44050;, &#51312;&#51089;&#51088;, &#46321;) &#47484; &#48516;&#47532;&#54644; &#51456;&#45796;. &#51060;&#44163;&#51008; Cake &#44032; &#47588;&#50864; &#54952;&#50984;&#51201;&#51064; &#53244;&#47532;&#47484; &#49373;&#49457;&#54624; &#49688; &#51080;&#46020;&#47197; &#54728;&#46973;&#54616;&#44256;, &#50732;&#48148;&#47480; SQL &#47928;&#48277;&#51012; &#48372;&#51109;&#54616;&#47728;, &#53244;&#47532;&#51032; &#44060;&#48324;&#51201; &#48512;&#48516;&#51012; &#50732;&#48148;&#47476;&#44172; &#48977;&#45716;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#47588;&#50864; &#44592;&#48376;&#51201;&#51004;&#47196;, &#48176;&#50676; &#44592;&#48152;&#51032; &#53244;&#47532;&#45716; &#45796;&#51020;&#44284; &#44057;&#51060; &#48372;&#50668;&#51652;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&#50696; 6.4. &#44592;&#48376;&#51201;&#51064; find &#51312;&#44148; &#48176;&#50676; &#49324;&#50857;&#50696; :&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;$conditions = array("Post.title" =&amp;gt; "This is a post");&lt;br /&gt;
&lt;br /&gt;
//&#47784;&#45944;&#44284; &#54632;&#44760; &#49324;&#50857;&#54620; &#50696;:&lt;br /&gt;
$this-&amp;gt;Post-&amp;gt;find($conditions);&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The structure is fairly self-explanatory: it will find any post where the title matches the string "This is a post". Note that we could have used just "title" as the field name, but when building queries, it is good practice to always specify the model name, as it improves the clarity of the code, and helps prevent collisions in the future, should you choose to change your schema. What about other types of matches? These are equally simple. Let's say we wanted to find all the posts where the title is &lt;span class="emphasis"&gt;&lt;em class="em"&gt;not&lt;/em&gt;&lt;/span&gt; "This is a post":&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;array("Post.title" =&amp;gt; "&amp;lt;&amp;gt; This is a post")&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;All that was added was '&amp;lt;&amp;gt;' before the expression. Cake can parse out any valid SQL comparison operator, including match expressions using LIKE, BETWEEN, or REGEX, as long as you leave a space between the operator an the expression or value. The one exception here is IN (...)-style matches. Let's say you wanted to find posts where the title was in a given set of values:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;array("Post.title" =&amp;gt; array("First post", "Second post", "Third post"))&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Adding additional filters to the conditions is as simple as adding additional key/value pairs to the array:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;array&lt;br /&gt;
(&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; "Post.title"&amp;nbsp;&amp;nbsp; =&amp;gt; array("First post", "Second post", "Third post"),&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; "Post.created" =&amp;gt; "&amp;gt; " . date('Y-m-d', strtotime("-2 weeks"))&lt;br /&gt;
)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;By default, Cake joins multiple conditions with boolean AND; which means, the snippet above would only match posts that have been created in the past two weeks, &lt;span class="emphasis"&gt;&lt;em class="em"&gt;and&lt;/em&gt;&lt;/span&gt; have a title that matches one in the given set. However, we could just as easily find posts that match either condition:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;array&lt;br /&gt;
("or" =&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; array&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Post.title" =&amp;gt; array("First post", "Second post", "Third post"),&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Post.created" =&amp;gt; "&amp;gt; " . date('Y-m-d', strtotime("-2 weeks"))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;br /&gt;
)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Cake accepts all valid SQL boolean operations, including AND, OR, NOT, XOR, etc., and they can be upper or lower case, whichever you prefer. These conditions are also infinitely nestable. Let's say you had a hasMany/belongsTo relationship between Posts and Authors, which would result in a LEFT JOIN on the find done on Post. Let's say you wanted to find all the posts that contained a certain keyword &lt;span class="emphasis"&gt;&lt;em class="em"&gt;or&lt;/em&gt;&lt;/span&gt; were created in the past two weeks, but you want to restrict your search to posts written by Bob:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;array&lt;br /&gt;
("Author.name" =&amp;gt; "Bob", "or" =&amp;gt; array&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Post.title" =&amp;gt; "LIKE %magic%",&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Post.created" =&amp;gt; "&amp;gt; " . date('Y-m-d', strtotime("-2 weeks")&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;br /&gt;
)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h5&gt;6.2.4. &#45936;&#51060;&#53552; &#51200;&#51109;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365949#toc_6" class="anchor" title="toc_6" id="toc_6" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h5&gt;
&lt;p&gt;&#47784;&#45944;&#50640; &#45936;&#51060;&#53552;&#47484; &#51200;&#51109;&#54616;&#47140;&#47732;, &#51200;&#51109;&#54616;&#44256; &#49910;&#51008; &#45936;&#51060;&#53552;&#47484; &#51456;&#48708;&#54620;&#45796;. save() &#47700;&#49548;&#46300;&#47196; &#51204;&#45804;&#48155;&#51008; &#45936;&#51060;&#53552;&#45716; &#45796;&#51020;&#44284; &#44057;&#51008; &#54805;&#49885;&#51004;&#47196; &#45796;&#47364;&#51652;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;Array&lt;br /&gt;
(&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; [ModelName] =&amp;gt; Array&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [fieldname1] =&amp;gt; 'value'&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [fieldname2] =&amp;gt; 'value'&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;br /&gt;
)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#52968;&#53944;&#47204;&#47084;&#50640; POST &#48169;&#49885;&#51004;&#47196; &#51204;&#45804;&#46104;&#45716; &#45936;&#51060;&#53440;&#47484; &#51060; &#54805;&#53468;&#47196; &#54616;&#45716; &#44032;&#51109; &#44036;&#45800;&#54620; &#48169;&#48277;&#51008;, HTML &#54764;&#54140;&#47484; &#49324;&#50857;&#54616;&#45716; &#44163;&#51060;&#45796;. HTML &#54764;&#54140;&#45716; Cake &#44032; &#51060;&#54644;&#54616;&#45716; &#48169;&#48277;&#51004;&#47196; &#54268; &#50836;&#49548;&#51032; &#51060;&#47492;&#51012; &#49373;&#49457;&#54620;&#45796;. HTML &#54764;&#54140;&#47484; &#49324;&#50857;&#54616;&#51648; &#50506;&#45716; &#44163;&#46020; &#44032;&#45733;&#54616;&#51648;&#47564;, &#54268; &#50836;&#49548;&#45716;&amp;nbsp; &lt;span class="emphasis"&gt;&lt;em class="em"&gt;data[&#47784;&#45944;&#47749;][&#54596;&#46300;&#47749;]&lt;/em&gt;&lt;/span&gt; &#44284;&amp;nbsp; &#44057;&#51060; &#54644;&#50556; &#54620;&#45796;. &#54616;&#51648;&#47564;, $html-&amp;gt;input('Model/fieldname') &#47484; &#49324;&#50857;&#54616;&#45716; &#44163;&#51060; &#44032;&#51109; &#44036;&#45800;&#54616;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#54268;&#51004;&#47196;&#48512;&#53552; &#54252;&#49828;&#53944; &#48169;&#49885;&#51004;&#47196; &#51204;&#45804;&#46108; &#45936;&#51060;&#53440;&#45716;, &#51088;&#46041;&#51004;&#47196; &#51060;&#50752; &#44057;&#51008; &#54252;&#47607;&#51060; &#46104;&#44256;, &#52968;&#53944;&#47204;&#47084;&#45236;&#51032; &lt;span class="emphasis"&gt;&lt;em class="em"&gt;$this-&amp;gt;data&lt;/em&gt;&lt;/span&gt; &#50640; &#46308;&#50612; &#44049;&#45768;&#45796;. &#46384;&#46972;&#49436;, &#50937; &#54268;&#51032; &#45936;&#51060;&#53552;&#47484; &#44036;&#45800;&#55176; &#51200;&#51109;&#54624; &#49688; &#51080;&#45796;. &#49549;&#49457;(property) &#52968;&#53944;&#47204;&#47084;&#51032; edit &#54632;&#49688;&#45716;, &#45796;&#51020;&#44284; &#44057;&#51008; &#54805;&#53468;&#44032; &#46112; &#44163;&#51060;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;function edit($id)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;// &#51452;&#51032; : &#49549;&#49457; &#47784;&#45944;&#51008; $this-&amp;gt;Property &#50640; &#51088;&#46041;&#51004;&#47196; &#48520;&#47084;&#45240;&#45796;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;// &#54268;&#45936;&#51060;&#53552;&#44032; &#51316;&#51116;&#54616;&#45716;&#51648; &#44160;&#49324;...&lt;br /&gt;
&amp;nbsp; &amp;nbsp;if (empty($this-&amp;gt;data))&lt;br /&gt;
&amp;nbsp; &amp;nbsp;{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;Property-&amp;gt;id = $id;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;data = $this-&amp;gt;Property-&amp;gt;read();// &#54788;&#51116; &#51648;&#51221;&#46108; &#50676;&#51032; &#45936;&#51060;&#53552;&#47484; &#54268; &#54596;&#46300;&#50640; &#45347;&#51012; &#49688; &#51080;&#45796;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&amp;nbsp; &amp;nbsp;else&lt;br /&gt;
&amp;nbsp; &amp;nbsp;{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; // &#45936;&#51060;&#53552;&#47484; &#51200;&#51109;&#54616;&#45716; &#48512;&#48516;&#51060;&#45796;. &#51088;&#46041;&#51004;&#47196; &#51088;&#47308; &#44160;&#51613;(validation)&#51012; &#54620;&#45796;.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; if ($this-&amp;gt;Property-&amp;gt;save($this-&amp;gt;data['Property']))&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &#47700;&#49884;&#51648;&#47484; &#54364;&#49884;(flash)&#54616;&#44144;&#45208; &#47532;&#45796;&#51060;&#47113;&#53944;&#54620;&#45796;.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$this-&amp;gt;flash('Your information has been saved.',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'/properties/view/'.$this-&amp;gt;data['Property']['id'], 2);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; // &#47564;&#51068; &#51096;&#47803;&#46108; &#54596;&#46300;&#44032; &#51316;&#51116;&#54616;&#44144;&#45208; &#51200;&#51109;&#51060; &#49892;&#54056;&#54620; &#44221;&#50864; &#51060; &#54805;&#49885;&#51060; &#54364;&#49884;&#46108;&#45796;&lt;br /&gt;
&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;save &#46041;&#51089;&#51060; &#51312;&#44148;&#47928; &#50504;&#50640; &#50948;&#52824;&#54616;&#45716; &#44163;&#50640;&amp;nbsp;&#51452;&#51032;&#54620;&#45796;. &#47784;&#45944;&#50640; &#45936;&#51060;&#53440;&#47484; &#51200;&#51109;&#54616;&#47140;&#44256; &#54616;&#45716; &#44221;&#50864;, Cake &#45716; &#51648;&#51221; &#46104;&#50612; &#51080;&#45716; &#47344;&#50640; &#44592;&#52488;&#54616;&#50668; &#51088;&#46041;&#51201;&#51004;&#47196; &#45936;&#51060;&#53440;&#44032; &#50732;&#48148;&#47480;&#51648; &#52404;&#53356;&#54620;&#45796;. &#51088;&#47308; &#44160;&#51613;&#44284; &#44288;&#47144;&#46108; &#49345;&#49464; &#51221;&#48372;&#45716; "12. &#51088;&#47308; &#44160;&#51613;(validation)"&#51012; &#52280;&#51312;&#54620;&#45796;. save() &#50640; &#51088;&#47308; &#44160;&#51613;&#51012; &#54624; &#54596;&#50836;&#44032; &#50630;&#45716; &#44221;&#50864;&#50640;&#45716;&amp;nbsp;&lt;span class="emphasis"&gt;&lt;em class="em"&gt;save($data, false)&lt;/em&gt;&lt;/span&gt; &#47484; &#49324;&#50857;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#44592;&#53440; &#50976;&#50857;&#54620; &#54632;&#49688; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li class="first"&gt;&lt;strong&gt;del&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;string &lt;em class="em"&gt;$id&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;boolean &lt;em class="em"&gt;$cascade&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$id &#47196; &#51648;&#51221;&#46104;&#50632;&#44144;&#45208;, &#54788;&#51116;&#51032; id &#51032; &#47784;&#45944; &#45936;&#51060;&#53440;&#47484; &#49325;&#51228;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51060; &#47784;&#45944;&#50640; &#45796;&#47480; &#47784;&#45944;&#51060; &#50672;&#44288;&#46104;&#50612; &#51080;&#44256;, &#50672;&#44288;(association)&#48176;&#50676;&#50640;&amp;nbsp;&#51032;&#51316;(dependent)&#53412;&#44032; SET &#46104;&#50612; &#51080;&#45716; &#44221;&#50864;,&amp;nbsp; $cascade &#44032; true &#47196; &#49444;&#51221;&#46104;&#50632; &#46412;, &#51060; &#47700;&#49548;&#46300;&#45716; &#44288;&#47144;&#46104;&#45716; &#47784;&#45944; &#45936;&#51060;&#53552;&#46020; &#49325;&#51228;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#49457;&#44277;&#54616;&#47732;, true &#47484; &#48152;&#54872;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li class="first"&gt;&lt;strong&gt;saveField&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;string &lt;em class="em"&gt;$name&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;string &lt;em class="em"&gt;$value&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#54616;&#45208;&#51032; &#54596;&#46300; &#44050;&#51012; &#51200;&#51109;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li class="first"&gt;&lt;strong&gt;getLastInsertId&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#44032;&#51109; &#52572;&#44540;&#50640; &#51089;&#49457;&#46108; &#47112;&#53076;&#46300;&#51032; ID &#47484; &#48152;&#54872;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h5&gt;6.2.5. &#47784;&#45944; &#53084;&#48177;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365949#toc_7" class="anchor" title="toc_7" id="toc_7" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h5&gt;
&lt;p&gt;&#47784;&#45944;&#51032; &#46041;&#51089; &#51204;&#54980;&#50640; &#47196;&#51649;&#51012; &#45347;&#50612;&#51012; &#46412;, &#47751; &#47784;&#45944;&#50640; &#53084;&#48177;&#51060; &#52628;&#44032;&#46104;&#50632;&#45796;. &#50528;&#54540;&#47532;&#52992;&#51060;&#49496; &#45236;&#50640;&#49436; &#51060; &#44592;&#45733;&#51012; &#49324;&#50857;&#54616;&#47140;&#47732; &#51648;&#51221;&#46108; &#54028;&#46972;&#48120;&#53552;&#47484; &#49324;&#50857;&#54616;&#44256; Cake &#51032; &#47784;&#45944;&#51032; &#51060;&#47084;&#54620; &#54632;&#49688;&#47484; &#50724;&#48260;&#46972;&#51060;&#46300;(override)&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li class="first"&gt;&lt;strong&gt;beforeFind&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;string &lt;em class="em"&gt;$conditions&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;beforeFind() &#53084;&#48177;&#51008;, &#44160;&#49353;(find)&#46041;&#51089;&#51060; &#49884;&#51089;&#46104;&#44592; &#51204;&#50640; &#49892;&#54665;&#46108;&#45796;. &#44160;&#49353; &#51204;&#50640; &#49892;&#54665;&#54616;&#44256; &#49910;&#51008; &#47196;&#51649;&#51008;&amp;nbsp;&#50668;&#44592;&#50640; &#48176;&#52824;&#54616;&#46020;&#47197; &#54620;&#45796;. &#47784;&#45944;&#51032; &#51060; &#47700;&#49548;&#46300;&#47484; &#50724;&#48260;&#46972;&#51060;&#46300;&#54624; &#46412;&#50640;, &#44160;&#49353;&#46020; &#49892;&#54665;&#54616;&#44256; &#49910;&#51004;&#47732;&amp;nbsp;&lt;span class="emphasis"&gt;&lt;em class="em"&gt;true&lt;/em&gt;&lt;/span&gt; &#47484;, &#44160;&#49353;&#51012; &#51473;&#51648;&#54616;&#44256; &#49910;&#51004;&#47732; f&lt;span class="emphasis"&gt;&lt;em class="em"&gt;alse&lt;/em&gt;&lt;/span&gt; &#47484; &#48152;&#54872;&#54616;&#47732; &#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li class="first"&gt;&lt;strong&gt;afterFind&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;array &lt;em class="em"&gt;$results&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#44160;&#49353;(find)&#46041;&#51089;&#50640; &#44536; &#44208;&#44284;&#47484; &#49688;&#51221;&#54616;&#44256; &#49910;&#51008; &#44221;&#50864;&#45208;, &#44160;&#49353; &#54980;&#50640; &#47956;&#44032;&#47484; &#54616;&#44256; &#49910;&#51008; &#44221;&#50864;&#50640;&#45716; &#51060; &#53084;&#48177;&#51012; &#49324;&#50857;&#54620;&#45796;. &#51060; &#54632;&#49688;&#51032; &#54028;&#46972;&#48120;&#53552;&#45716; &#47784;&#45944;&#51032; &#44160;&#49353; &#44208;&#44284;&#47484; &#48152;&#54872;&#54620;&#45796;. &#49688;&#51221;&#54620; &#44208;&#44284;&#47484; return value &#47196;&#49436; &#48152;&#54872;&#54616;&#47732; &#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;beforeValidate&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51088;&#47308; &#44160;&#51613;(validation)&#51060; &#44152;&#47532;&#44592; &#51204;&#50640; &#45936;&#51060;&#53552;&#47484; &#49688;&#51221;&#54616;&#44256; &#49910;&#51008; &#44221;&#50864;&#50640;&#45716; &#51060; &#53084;&#48177;&#51012; &#49324;&#50857;&#54620;&#45796;. &lt;span class="emphasis"&gt;&lt;em class="em"&gt;Model::invalidate()&lt;/em&gt;&lt;/span&gt; &#47484; &#49324;&#50857;&#54616;&#44256; &#52628;&#44032;&amp;nbsp;&#44160;&#51613;&#51060;&#45208;, &#45908; &#48373;&#51105;&#54620; &#44160;&#51613; &#47344;&#51012; &#52628;&#44032;&#54616;&#45716; &#44163;&#46020; &#44032;&#45733;&#54616;&#45796;. &#51060; &#46412;&#50640;&#45716;, &lt;span class="emphasis"&gt;&lt;em class="em"&gt;$this-&amp;gt;data&lt;/em&gt;&lt;/span&gt; &#50640; &#51032;&#54620; &#47784;&#45944; &#45936;&#51060;&#53552;&#47196; &#51217;&#44540; &#44032;&#45733;&#54616;&#45796;. &#46608; &#51060; &#54632;&#49688;&#45716; &lt;span class="emphasis"&gt;&lt;em class="em"&gt;true&lt;/em&gt;&lt;/span&gt; &#47484; &#48152;&#54872;&#54644;&#50556;&#54620;&#45796;. true &#47484; &#48152;&#54872;&#54616;&#51648; &#50506;&#51004;&#47732; save() &#51032; &#49892;&#54665;&#51060; &#51473;&#51648;&#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;beforeSave&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51200;&#51109; &#51649;&#51204;&#51032; &#47196;&#51649;&#51008; &#51060; &#54632;&#49688;&#50640; &#46160;&#47732; &#46108;&#45796;. &#47784;&#45944; &#45936;&#51060;&#53552;&#51032; &#51088;&#47308; &#44160;&#51613;&#51060; &#45149;&#45212; &#54980; &#44263;&#48148;&#47196;, (&#51088;&#47308; &#44160;&#51613;&#50640; save &#54840;&#52636;&#51060; &#51473;&#51648;&#46108; &#44221;&#50864;&#50640;&#45716;, &#51060; &#53084;&#48177;&#46020; &#49892;&#54665;&#46104;&#51648; &#50506;&#45716;&#45796;.) &#45936;&#51060;&#53552;&#44032; &#51200;&#51109; &#46104;&#44592; &#51204;&#50640; &#51060; &#54632;&#49688;&#44032; &#49892;&#54665;&#46108;&#45796;. &#51060; &#54632;&#49688;&#46020; &#51200;&#51109; &#46041;&#51089;&#51012; &#44228;&#49549;&#54616;&#44256; &#49910;&#51008; &#44221;&#50864;&#50640;&#45716; &lt;span class="emphasis"&gt;&lt;em class="em"&gt;true&lt;/em&gt;&lt;/span&gt; &#47484; &#48152;&#54872;&#54644;&#50556; &#54620;&#45796;. &#51473;&#51648;&#54616;&#44256; &#49910;&#51008; &#44221;&#50864;&#50640;&#45716; &lt;span class="emphasis"&gt;&lt;em class="em"&gt;false&lt;/em&gt;&lt;/span&gt; &#47484; &#48152;&#54872;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;beforeSave &#51032; &#49324;&#50857; &#48169;&#48277;&#51032; &#51068;&#47168;&#47196;, &#53945;&#51221; &#45936;&#51060;&#53552;&#48288;&#51060;&#49828; &#50644;&#51652;&#50857; &#49884;&#44036; &#45936;&#51060;&#53552; &#54252;&#47607;&#50640; &#50976;&#50857;&#54616;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;// HTML &#54764;&#54140;&#47196; &#51089;&#49457;&#54620; date/time :&lt;br /&gt;
// &#51060; &#53076;&#46300;&#45716; view &#50640; &#51080;&#45796;.&lt;br /&gt;
&lt;br /&gt;
$html-&amp;gt;dayOptionTag('Event/start');&lt;br /&gt;
$html-&amp;gt;monthOptionTag('Event/start');&lt;br /&gt;
$html-&amp;gt;yearOptionTag('Event/start');&lt;br /&gt;
$html-&amp;gt;hourOptionTag('Event/start');&lt;br /&gt;
$html-&amp;gt;minuteOptionTag('Event/start');&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;// &#47784;&#45944; &#53084;&#48177; &#54632;&#49688;&#45716; &#45216;&#51676; &#45936;&#51060;&#53552;&#47484; &#50672;&#44208;&#54644; &#47784;&#46160; &#51200;&#51109;&#54620;&#45796;&lt;br /&gt;
// &#51060; &#53076;&#46300;&#45716; &#44536; &#51060;&#48292;&#53944; &#47784;&#45944;&#50640; &#51080;&#45796; :&lt;br /&gt;
&lt;br /&gt;
function beforeSave()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; $this-&amp;gt;data['Event']['start'] = $this-&amp;gt;_getDate('Event', 'start');&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function _getDate($model, $field)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; return date('Y-m-d H:i:s', mktime(&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; intval($this-&amp;gt;data[$model][$field . '_hour']),&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; intval($this-&amp;gt;data[$model][$field . '_min']),&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; null,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; intval($this-&amp;gt;data[$model][$field . '_month']),&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; intval($this-&amp;gt;data[$model][$field . '_day']),&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; intval($this-&amp;gt;data[$model][$field . '_year'])));&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;afterSave&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51200;&#51109; &#54980;&#50640; &#49892;&#54665;&#54616;&#44256; &#49910;&#51008; &#47196;&#51649;&#51012; &#51060; &#53084;&#48177;&#50640; &#46164;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;beforeDelete&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#49325;&#51228; &#51204;&#50640; &#49892;&#54665;&#54616;&#44256; &#49910;&#51008; &#47196;&#51649;&#51012; &#51060; &#53084;&#48177;&#50640; &#46164;&#45796;. &#51060; &#54632;&#49688;&#45716; &#44228;&#49549;&#54644;&#49436; &#49325;&#51116;&#54616;&#44256; &#49910;&#51008; &#44221;&#50864;&#50640;&#51008; true &#47484; &#48152;&#54872;&#54616;&#47732; &#46108;&#45796;. &#51473;&#51648;&#54616;&#44256;&#51088; &#54624; &#44221;&#50864; false &#47484; &#48152;&#54872;&#54616;&#47732; &#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;afterDelete&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#49325;&#51228; &#54980;&#50640; &#49892;&#54665;&#54616;&#44256; &#49910;&#51008; &#47196;&#51649;&#51012; &#51060; &#53084;&#48177;&#50640; &#46164;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;6.3. &#47784;&#45944;&#51032; &#48320;&#49688;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365949#toc_8" class="anchor" title="toc_8" id="toc_8" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h4&gt;
&lt;p&gt;&#47784;&#45944;&#51012; &#51089;&#49457;&#54624; &#46412;, &#53945;&#48324;&#54620; &#47751;&#44032;&#51648; &#48320;&#49688;&#47484; &#49444;&#51221;&#54616;&#45716; &#44163;&#51004;&#47196; Cake &#51032; &#44592;&#45733;&#51012; &#51060;&#50857;&#54624; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;$primaryKey&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#47784;&#45944;&#51060; &#45936;&#51060;&#53552;&#48288;&#51060;&#49828;&#51032; &#53580;&#51060;&#48660;&#50640; &#44288;&#47144;&#46104;&#50612; &#51080;&#45716; &#44221;&#50864;, &#53580;&#51060;&#48660;&#51032; primary key &#47749;&#51060; 'id' &#44032; &#50500;&#45772; &#44221;&#50864;, &#51060; &#48320;&#49688;&#47484; &#49324;&#50857;&#54616;&#50668; &#50612;&#45712; &#54596;&#46300;&#44032; primary key &#51064;&#51648;&#47484; Cake &#50640; &#50508;&#47536;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;$recursive&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;find() &#50752; findAll() &#51032; &#46041;&#51089;&#51473;&#50640;, &#44288;&#47144;&#46104;&#50612; &#51080;&#45716; &#47784;&#45944;&#51032; &#45936;&#51060;&#53552;&#47484; &#47751; &#47112;&#48296;&#44620;&#51648; &#48520;&#47084;(fetch) &#50732; &#44163;&#51064;&#51648;&#47484; &#49444;&#51221;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;Groups (&#44536;&#47353;) &#51060; &#51080;&#44256;, &#51060; &#44536;&#47353;&#50640; Users (&#50976;&#51200;) &#44032;&amp;nbsp;&#51080;&#44256;, &#44033; &#50976;&#51200;&#44032; &#47566;&#51008; Articles (&#44172;&#49884;&#47932;) &#51012; &#44054;&#44256; &#51080;&#45796;&#44256; &#44032;&#51221;&#54616;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&#53580;&#51060;&#48660; 6.1. Model::recursive &#50741;&#49496;&lt;/strong&gt;&lt;/p&gt;
&lt;table class="datatable"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;$recursive = 0&lt;/td&gt;
&lt;td&gt;Cake &#45716; Group &#45936;&#51060;&#53552;&#47484; &#48520;&#47084; &#50728;&#45796;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$recursive = 1&lt;/td&gt;
&lt;td&gt;Cake &#45716; Group &#44284; &#44288;&#47144;&#46108; Users &#47484; &#48520;&#47084; &#50728;&#45796;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$recursive = 2&lt;/td&gt;
&lt;td&gt;Cake &#45716; Group &#44284; &#44288;&#47144;&#46108; Users &#50752; &#44536; User &#50528; &#44288;&#47144;&#46108; Articels &#47484; &#48520;&#47084;&#50728;&#45796;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;$transactional&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&#51060; &#47784;&#45944;&#47196; &#53944;&#47004;&#51117;&#49496; &#44032;&#45733;&#54620;&#51648; &#50500;&#45772;&#51648; Cake &#50640; &#51648;&#49884;&#54633;&#45768;&#45796; (begin/commit/rollback). boolean &#44050;&#51004;&#47196; &#49444;&#51221;&#54620;&#45796;. &#53944;&#47004;&#51117;&#49496;&#51012; &#51648;&#50896;&#54616;&#44256; &#51080;&#45716; &#45936;&#51060;&#53552;&#48288;&#51060;&#49828;&#47564; &#49324;&#50857;&#54624; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;$useTable&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#49324;&#50857;&#54616;&#44256; &#49910;&#51008; &#53580;&#51060;&#48660;&#51060; &#47784;&#45944;&#47749;&#51032; &#48373;&#49688;&#54805;&#51060; &#46104;&#50612; &#51080;&#51648; &#50506;&#51008; &#44221;&#50864; (&#44536;&#47532;&#44256;, &#53580;&#51060;&#48660;&#47749;&#51012; &#48320;&#44221;&#54616;&#44592; &#49899;&#51008; &#44221;&#50864;), &#51060; &#48320;&#49688;&#47196; &#49324;&#50857;&#54616;&#44256; &#49910;&#51008;&#45936; &#53580;&#51060;&#48660;&#47749;&#51012; &#49444;&#51221;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;$validate&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51060; &#47784;&#45944;&#50640; &#51204;&#45804;&#48155;&#51008; &#45936;&#51060;&#53552;&#47484; &#48156;&#47532; &#51088;&#47308; &#44160;&#51613;&#54616;&#45716; &#45936; &#49324;&#50857;&#46104;&#45716; &#48176;&#50676;&#51060;&#45796;. &#49345;&#49464;&#54620; &#44163;&#51008;&amp;nbsp;"&#51088;&#47308; &#44160;&#51613;" &#51109;&#51012; &#52280;&#51312;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;$useDbConfig&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#45936;&#51060;&#53552;&#48288;&#51060;&#49828;&#51032; &#49444;&#51221;&#51008;, /app/config/database.php &#50640;&#49436; &#49444;&#51221;&#54616;&#45716; &#44163;&#51012; &#44592;&#50613;&#45716;&#44032;? &#44536;&#44163;&#51012; &#48148;&#44984;&#44592; &#50948;&#54644;&#49436; &#51060; &#48320;&#49688;&#47484; &#49324;&#50857;&#54620;&#45796;. &#51089;&#49457;&#54620; &#45936;&#51060;&#53552;&#48288;&#51060;&#49828; &#49444;&#51221; &#54028;&#51068;&#50640; &#51080;&#45716; &#49324;&#50857; &#44032;&#45733;&#54620; &#45936;&#51060;&#53440;&#48288;&#51060;&#49828; &#51217;&#49549;&#47749;&#51012; &#50420;&#45796;. &#44592;&#48376;&#44050;&#51008;, 'default' &#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;6.4. &lt;span&gt;&#50672;&#44288; (association)&lt;/span&gt;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365949#toc_9" class="anchor" title="toc_9" id="toc_9" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h4&gt;
&lt;h5&gt;6.4.1. &#49548;&#44060;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365949#toc_10" class="anchor" title="toc_10" id="toc_10" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h5&gt;
&lt;p&gt;CakePHP &#45824;&#45800;&#55176; &#44053;&#47141;&#54620; &#44592;&#45733;&#51473; &#54616;&#45208;&#45716; &#47784;&#45944;&#50640; &#51032;&#54620; &#44288;&#44228; &#47588;&#54609;(relational mapping) &#51060;&#45796;. CakePHP &#50640;&#49436;&#45716;, &#53580;&#51060;&#48660;&#51032; &#44288;&#44228;&#47484; &#50672;&#44288;(association)&#51012; &#53685;&#54644; &#45796;&#47340;&#45796;. &#50672;&#44288;&#51008; &#45436;&#47532;&#51201;&#51004;&#47196; &#44288;&#47144;&#46104;&#50612; &#51080;&#45716; &#50976;&#45787;&#51012; &#50672;&#44208;&#54616;&#45716; &#51217;&#52265;&#51228;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;CakePHP &#50640;&#45716; &#45348;&#51333;&#47448;&#51032; &#50672;&#44288;&#51060; &#51080;&#45796;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;hasOne&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;hasMany&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;belongsTo&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;hasAndBelongsToMany&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#47784;&#45944;&#44036;&#51032; &#50672;&#44288;&#51060; &#51221;&#51032;&#46104;&#47732;, Cake &#50640;&#49436;&#45716; &#51089;&#50629;&#54616;&#44256; &#51080;&#45716; &#47784;&#45944;&#50640; &#44288;&#44228;&#46108; &#47784;&#45944;&#50640;&#49436; &#51088;&#46041;&#51201;&#51004;&#47196; &#45936;&#51060;&#53552;&#47484; &#44032;&#51256; &#50728;&#45796;. &#50696;&#47484; &#46308;&#47732;, Post (&#53804;&#44256;) &#47784;&#45944;&#51060; Author (&#51200;&#51088;) &#47784;&#45944;&#50640; hasMany &#47484; &#49324;&#50857;&#54644; &#50672;&#44288;&#51060; &#49444;&#51221; &#46104;&#44256; &#51080;&#51004;&#47728;, &#52968;&#53944;&#47204;&#47084;&#50640; $this-&amp;gt;Post-&amp;gt;findAll() &#47196; &#48520;&#47084;&#45236;&#45716; &#44163;&#51004;&#47196;, Post &#47112;&#53076;&#46300;, &#46608; &#44288;&#47144;&#46104;&#50612; &#51080; Author &#47112;&#53076;&#46300;&#51032; &#45936;&#51060;&#53552;&#47484; &#44032;&#51256; &#50728;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51088;&#47308; &#44160;&#51613;&#51012; &#49324;&#50857;&#54616;&#47140;&#47732;, CakePHP &#51032; &#45348;&#51060;&#48141; &#44508;&#50557;(&#48512;&#47197; "Cake &#44508;&#50557;" &#52280;&#51312;)&#50640; &#46384;&#47476;&#45716; &#44163;&#51060; &#44032;&#51109; &#51339;&#45796;. CakePHP &#51032; &#45348;&#51060;&#48141; &#44508;&#50557;&#51012; &#49324;&#50857;&#54616;&#45716; &#44221;&#50864;, &#49828;&#52880;&#54260;&#46377;&#51004;&#47196; &#50528;&#54540;&#47532;&#52992;&#51060;&#49496;&#51032; &#45936;&#51060;&#53440;&#47484; &#49884;&#44033;&#54868;&#54616;&#45716; &#44163;&#51060; &#44032;&#45733;&#54616;&#45796;. &#49828;&#52880;&#54260;&#46377;&#50640;&#49436;&#45716;, &#47784;&#45944;&#44036;&#51032; &#50672;&#44288;&#51012; &#44160;&#52636;&#54644; &#51060;&#50857;&#54616;&#44592; &#46412;&#47928;&#51060;&#45796;. Cake &#51032; &#45348;&#51060;&#48141; &#44508;&#50557;&#50640; &#46384;&#47476;&#51648; &#50506;&#45716; &#48169;&#48277;&#51004;&#47196;&#46020; &#47784;&#45944;&#51032; &#50672;&#44288;&#51012; &#52964;&#49828;&#53552;&#47560;&#51060;&#51669;&#54616;&#45716; &#44163;&#51060; &#44032;&#45733;&#54616;&#45796;. &#44536;&#47084;&#45208;, &#44536; &#54017;&#50640; &#44288;&#54644;&#49436;&#45716; &#45208;&#51473;&#50640; &#49444;&#47749;&#54620;&#45796;. &#51648;&#44552;&#51008; &#45348;&#51060;&#48141; &#44508;&#50557;&#50640; &#46384;&#47480; &#48169;&#48277;&#47564; &#50584;&#44592;&#54620;&#45796;. &#50808;&#48512;&#53412;(foreign keys), &#47784;&#45944;&#47749;, &#53580;&#51060;&#48660;&#47749;&#50640; &#44288;&#54620; &#45348;&#51060;&#48141; &#44508;&#50557;&#51012; &#50684;&#46160;&#50640; &#46188;&#50556; &#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#45796;&#51020;&#50640; &#49444;&#47749;&#54616;&#45716; &#44163;&#51008;, &#47751; &#44032;&#51648;&#51032; &#50836;&#49548;&#51032; &#51060;&#47492;&#50640; &#44288;&#54616;&#50668;, Cake &#44032; &#44592;&#45824;&#54616;&#45716; &#49324;&#54637;&#46308;&#51032; &#48373;&#49845;&#51060;&#45796;. : (&#45348;&#51060;&#48141;&#50640; &#44288;&#54620; &#49345;&#49464;&#54620; &#51221;&#48372;&#45716; &#48512;&#47197; "Cake &#44508;&#50557;" &#52280;&#51312;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&#50808;&#48512;&#53412; : [&#47784;&#45944;&#47749;&#51032; &#45800;&#49688;&#54805;]_id. &#50696;&#47484; &#46308;&#50612;, "authors" &#53580;&#51060;&#48660;&#45236;&#51032; &#50808;&#48512;&#53412;&#44032; Post &#51068; &#44221;&#50864;, Author &#50640; &#49549;&#54620; &#44163;&#51008; "post_id" &#44032; &#46108;&#45796;.&lt;/li&gt;
&lt;li&gt;&#53580;&#51060;&#48660;&#47749; : [&#44061;&#52404;&#47749;&#51032; &#48373;&#49688;&#54805;]. &#48660;&#47196;&#44536;&#51032; &#54252;&#49828;&#53944;(post)&#50752; &#51089;&#49457;&#51088;(author)&#51032; &#51221;&#48372;&#47484; &#51200;&#51109;&#54616;&#44256; &#49910;&#44592; &#46412;&#47928;&#50640;, &#53580;&#51060;&#48660; &#47749;&#51008; &#44033;&#44033;, "posts" &#50752;, "authors" &#44032; &#46108;&#45796;.&lt;/li&gt;
&lt;li&gt;&#47784;&#45944;&#47749; : [&#45209;&#53440;&#54364;&#44592;&#48277;&#51032; &#53580;&#51060;&#48660; &#45800;&#49688;&#54805;]. "posts" &#53580;&#51060;&#48660;&#50640; &#45824;&#54620; &#47784;&#45944;&#51008; "Post", &#44536;&#47532;&#44256; "authors" &#53580;&#51060;&#48660;&#50640;&#45716; "Author".&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;CakePHP &#51032; &#49828;&#52880;&#54260;&#46377;&#50640;&#49436;&#45716;, &#50672;&#44288;(association)&#46108; &#52972;&#47100;&#51032; &#51221;&#47148;&#51060; &#44057;&#45796;&#44256; &#50696;&#49345;&#54620;&#45796;. &#46384;&#46972;&#49436;, &#47564;&#51068; Article &#51060; &#45796;&#47480; 3&#44060;&#51032; &#47784;&#45944;(Author, Editor, Publisher)&#50640; &#49549;&#54644; &#51080;&#45716; &#44221;&#50864;(belongsTo), author_id, editor_id, publisher_id &#46972;&#45716; 3&#44060;&#51032; &#53412;&#44032; &#54596;&#50836;&#54616;&#44172; &#46108;&#45796;. &#49828;&#52880;&#54260;&#46377;&#50640;&#49436;&#45716;, &#53580;&#51060;&#48660;&#45236;&#51032; &#50672;&#44288;&#46020; &#44057;&#51008; &#51221;&#47148;&#51060;&#46972;&#44256; &#50696;&#49345;&#54620;&#45796; (&#52395;&#48264;&#51704; Author, &#46160;&#48264;&#51704; Editor,&amp;nbsp;&#47560;&#51648;&#47561;&#50640; Publisher).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#50672;&#44288;&#51060; &#50612;&#46523;&#44172; &#46041;&#51089;&#54616;&#45716;&#51648;&#47484; &#49444;&#47749;&#54616;&#44592; &#50948;&#54644;, &#44228;&#49549;&#54644;&#49436; &#48660;&#47196;&#44536; &#50528;&#54540;&#47532;&#52992;&#51060;&#49496;&#51012; &#50696;&#47196; &#46304;&#45796;. &#48660;&#47196;&#44536;&#50857;&#51004;&#47196; &#44036;&#45800;&#54620; &#50976;&#51200; &#44288;&#47532; &#49884;&#49828;&#53596;&#51012; &#47564;&#46304;&#45796;&#44256; &#54616;&#51088;. &#51060;&#46412; &#45817;&#50672;&#55176; Users &#51032; &#44592;&#47197;&#51012; &#48372;&#44288;&#54616;&#44256; &#49910;&#51012; &#44163;&#51060;&#45796;. &#44536;&#47088;&#45936;, &#46608; &#44033;&#44033;&#51032; &#50976;&#51200;&#44032; &#50672;&#44288;&#46108;&amp;nbsp; &#54616;&#45208;&#51032; Profile (&#54532;&#47196;&#54596;) &#51012; &#44054;&#44172; &#54616;&#44256; &#49910;&#45796; (User hasOne Profile, &#50976;&#51200;&#45716; &#54532;&#47196;&#54596;&#51012; "&#54616;&#45208; &#44054;&#45716;&#45796;"). &#44172;&#45796;&#44032;, Users &#45716; Comment &#47484; &#47564;&#46308; &#49688; &#51080;&#44256;, &#44536;&#46308; &#51088;&#49888;&#44284; &#44288;&#47144;&#51648;&#51012; &#49688; &#51080;&#45796; (User hasMany Comments, &#50976;&#51200;&#45716; &#53076;&#47704;&#53944;&#47484; "&#50668;&#47084;&#44060; &#44054;&#45716;&#45796;"). &#51068;&#45800; &#50976;&#51200; &#49884;&#49828;&#53596;&#51060; &#51089;&#46041;&#54616;&#44172; &#46104;&#47732;, Posts &#47484;&amp;nbsp; hasAndBelongsToMany&amp;nbsp;&#44288;&#44228;&#47484; &#49324;&#50857;&#54616;&#45716; Tag &#44061;&#52404;&#50752; &#44288;&#44228;&#46104;&#46020;&#47197; &#54620;&#45796; ( Post hasAndBelongsToMany Tags, "&#54252;&#49828;&#53944;&#45716; &#50668;&#47084; &#53468;&#44536;&#47484; &#44054;&#44256;, &#46608; &#53468;&#44536;&#50640; &#49549;&#54620;&#45796;").&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h5&gt;6.4.2. hasOne &#51221;&#51032;&#54616;&#44592;&#50752; &#51656;&#51032;&#54616;&#44592;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365949#toc_11" class="anchor" title="toc_11" id="toc_11" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h5&gt;
&lt;p&gt;&#51060; &#50672;&#44288;&#51012; &#49444;&#51221;&#54616;&#44592; &#50948;&#54644;, &#51060;&#48120; User &#50752; Profile &#47784;&#45944;&#51008; &#51089;&#49457;&#46104;&#50612; &#51080;&#50612;&#50556; &#54620;&#45796;. &#51060; &#46160;&#44060; &#49324;&#51060;&#50640; hasOne &#50672;&#44288;&#51012; &#51221;&#51032;&#54616;&#47140;&#47732;, &#47784;&#45944;&#50640; &#54616;&#45208;&#51032; &#48176;&#50676;&#51012; &#52628;&#44032;&#54616;&#44256; Cake &#50640; &#44288;&#47144; &#48169;&#48277;&#51012; &#51204;&#45804;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&#45796;&#51020;&#44284; &#44057;&#51060;&#54616;&#47732; &#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&#50696; 6.4. /app/models/user.php hasOne&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;&lt;span&gt;&amp;lt;?php&lt;br /&gt;
class User extends AppModel&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var $name = 'User';&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var $hasOne = array('Profile' =&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; array('className'&amp;nbsp; &amp;nbsp; =&amp;gt; 'Profile',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'conditions'&amp;nbsp; &amp;nbsp;=&amp;gt; '',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'order'&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; =&amp;gt; '',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'dependent'&amp;nbsp; &amp;nbsp; =&amp;gt;&amp;nbsp; true,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'foreignKey'&amp;nbsp; &amp;nbsp;=&amp;gt; 'user_id'&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; );&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;br /&gt;
$hasOne &#48176;&#50676;&#51008; User &#47784;&#45944;&#44284; Profile &#47784;&#45944;&#51032; &#50672;&#44288;&#51012; Cake &#44032; &#51312;&#47549;&#54616;&#45716;&#45936; &#49324;&#50857;&#46108;&#45796;. &#48176;&#50676;&#51032; &#44033; &#53412;&#50640; &#51032;&#54644; &#50672;&#44288;&#51012; &#45908;&#50865; &#49345;&#49464;&#54616;&#44172; &#49444;&#51221;&#54624; &#49688; &#51080;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;className (&#54596;&#49688;): &#50672;&#44288;&#51667;&#44256; &#49910;&#51008; &#47784;&#45944;&#51032; &#53364;&#47000;&#49828;&#47749;&lt;/p&gt;
&lt;p&gt;&#50948; &#50696;&#51228;&#50640;&#49436;&#45716;, 'Profile' &#47784;&#45944;&#51032; &#53364;&#47000;&#49828;&#47749;&#51012; &#51648;&#51221;&#54616;&#44256; &#51080;&#45796;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;conditions: &#44288;&#44228;&#47484; &#51221;&#51032;&#54620; SQL &#51312;&#44148;&#51032; &#51068;&#48512;&lt;/p&gt;
&lt;p&gt;&#54596;&#50836;&#54616;&#47732; &#45433;&#49353;&#51032; &#54756;&#45908;&#44032; &#48537;&#51008; &#54532;&#47196;&#54596;&#47564; &#44288;&#47144; &#51667;&#46020;&#47197; Cake &#50640; &#47749;&#47161;&#54624;&#46412;, &#45796;&#51020;&#44284; &#44057;&#51060; &#53412;&#47484; &#49444;&#51221;&#54616;&#47732; &#44032;&#45733;&#54616;&#45796; : "Profile.header_color = 'green'".&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;order: &#50672;&#44288;&#46108; &#47784;&#45944;&#51032; &#45936;&#51060;&#53552; &#51221;&#47148;&lt;/p&gt;
&lt;p&gt;&#50672;&#44288;&#46108; &#47784;&#45944;&#51012; &#53945;&#51221; &#49692;&#49436;&#47196; &#51221;&#47148;&#54616;&#44256; &#49910;&#51008; &#44221;&#50864;, &#51060; &#53412;&#47196; SQL &#51032; order &#48169;&#48277;&#51004;&#47196; &#44050;&#51012; &#49444;&#51221;&#54620;&#45796;, &#50696;&#47484; &#46308;&#47732; : "Profile.name ASC".&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;dependent: true &#47196; &#49444;&#51221;&#54616;&#47732;, &#51060; &#47784;&#45944;&#51032; &#45936;&#51060;&#53552; &#49325;&#51228;&#49884;&#50640; &#50672;&#44288;&#46104;&#50612; &#51080;&#45716; &#47784;&#45944; &#52769;&#51032; &#45936;&#51060;&#53552;&#46020; &#49325;&#51228;&#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&#50696;&#47484; &#46308;&#47732;, &#54532;&#47196;&#54596; "Cool Blue" &#44032; "Bob" &#50640; &#50672;&#44288;&#46104;&#50612; &#51080;&#45716; &#44221;&#50864;, "Bob" &#46972;&#45716; &#50976;&#51200;&#47484; &#49325;&#51228;&#54616;&#44256;, &#54532;&#47196;&#54596; "Cool Blue" &#46020; &#49325;&#51228;&#46108;&#45796;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;foreignKey: &#50672;&#44288;&#46104;&#50612; &#51080;&#45716; &#47784;&#45944;&#51012; &#44032;&#47532;&#53412;&#44256; &#51080;&#45716; &#50808;&#48512;&#53412;&#51032; &#51060;&#47492;&lt;/p&gt;
&lt;p&gt;Cake &#51032; &#45348;&#51060;&#48141; &#44508;&#50557;&#50640; &#46384;&#46972;&#49436; &#50630;&#45716; &#45936;&#51060;&#53552;&#48288;&#51060;&#49828;&#47484; &#49324;&#50857;&#54616;&#44256; &#51080;&#45716; &#44221;&#50864;&#50640; &#50668;&#44592;&#49436; &#51648;&#51221;&#54624; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51060;&#51228;, User &#47784;&#45944;&#47196; find() &#46608;&#45716; findAll() &#51012; &#54840;&#52636;&#54616;&#47732;, &#50672;&#44288;&#46104;&#50612; &#51080;&#45716; Profile &#47784;&#45944;&#46020; &#54632;&#44760; &#48380; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;$user = $this-&amp;gt;User-&amp;gt;read(null, '25');&lt;br /&gt;
print_r($user);&lt;br /&gt;
&lt;br /&gt;
// &#52636;&#47141;:&lt;br /&gt;
&lt;br /&gt;
Array&lt;br /&gt;
(&lt;br /&gt;
&amp;nbsp; &amp;nbsp; [User] =&amp;gt; Array&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [id] =&amp;gt; 25&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [first_name] =&amp;gt; John&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [last_name] =&amp;gt; Anderson&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [username] =&amp;gt; psychic&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [password] =&amp;gt; c4k3roxx&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; [Profile] =&amp;gt; Array&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [id] =&amp;gt; 4&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [name] =&amp;gt; Cool Blue&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [header_color] =&amp;gt; aquamarine&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [user_id] = 25&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h5&gt;6.4.3. belongsTo&amp;nbsp;&#51221;&#51032;&#54616;&#44592;&#50752; &#51656;&#51032;&#54616;&#44592;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365949#toc_12" class="anchor" title="toc_12" id="toc_12" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h5&gt;
&lt;p&gt;&#51060;&#51228; User &#45716; Profile &#51012; &#48380; &#49688; &#51080;&#45796;. &#51060;&#48264;&#50640;&#45716; Profile &#51060; User &#47484; &#48372;&#51060;&#46020;&#47197; &#54620;&#45796;. Cake &#50640;&#49436;&#45716; belongsTo &#50672;&#44288;&#51012; &#49324;&#50857;&#54616;&#45716; &#44163;&#51004;&#47196; &#44032;&#45733;&#54616;&#44172; &#46108;&#45796;. Profile &#47784;&#45944; &#45236;&#50640;&#49436; &#45796;&#51020;&#44284; &#44057;&#51060; &#54620;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&#50696; 6.5. /app/models/profile.php belongsTo&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;&lt;span&gt;&amp;lt;?php&lt;br /&gt;
class Profile extends AppModel&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var $name = 'Profile';&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var $belongsTo = array('User' =&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;array('className'&amp;nbsp; =&amp;gt; 'User',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'conditions' =&amp;gt; '',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'order'&amp;nbsp; &amp;nbsp; &amp;nbsp; =&amp;gt; '',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'foreignKey' =&amp;gt; 'user_id'&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;);&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$belongsTo &#48176;&#50676;&#51008;, Cake &#44032; User &#47784;&#45944;&#44284; Profile &#47784;&#45944; &#49324;&#51060;&#50640; &#50672;&#44288;&#51012; &#47564;&#46308; &#46412; &#49324;&#50857;&#54620;&#45796;. &#48176;&#50676; &#44032;&#44033;&#51032; &#53412;&#50640; &#50672;&#44288;&#51012; &#45908;&#50865; &#49345;&#49464;&#54616;&#44172; &#49444;&#51221;&#54624; &#49688; &#51080;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;className (&#54596;&#49688;): &#50672;&#44288;&#51667;&#44256; &#49910;&#51008; &#47784;&#45944;&#51032; &#53364;&#47000;&#49828;&#47749;&lt;/p&gt;
&lt;p&gt;&#50948; &#50696;&#51228;&#50640;&#49436;&#45716;, 'User' &#47784;&#45944;&#51032; &#53364;&#47000;&#49828;&#47749;&#51012; &#51648;&#51221;&#54616;&#44256; &#51080;&#45796;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;conditions: &#44288;&#44228;&#47484; &#51221;&#51032;&#54620; SQL &#51312;&#44148;&#51032; &#51068;&#48512;&lt;/p&gt;
&lt;p&gt;active &#49345;&#53468;&#51032; User &#47564;&#51012; &#50672;&#44288; &#51667;&#46020;&#47197; Cake &#50640; &#47749;&#47161;&#54624;&#46412;, &#45796;&#51020;&#44284; &#44057;&#51060; &#53412;&#47484; &#49444;&#51221;&#54616;&#47732; &#44032;&#45733;&#54616;&#45796; : "User.active = '1'" &#46321;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;order: &#50672;&#44288;&#46108; &#47784;&#45944;&#51032; &#45936;&#51060;&#53552; &#51221;&#47148;&lt;/p&gt;
&lt;p&gt;&#50672;&#44288;&#46108; &#47784;&#45944;&#51012; &#53945;&#51221; &#49692;&#49436;&#47196; &#51221;&#47148;&#54616;&#44256; &#49910;&#51008; &#44221;&#50864;, &#51060; &#53412;&#47196; SQL &#51032; order &#48169;&#48277;&#51004;&#47196; &#44050;&#51012; &#49444;&#51221;&#54620;&#45796;, &#50696;&#47484; &#46308;&#47732; : "User.last_name ASC".&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;foreignKey: &#50672;&#44288;&#46104;&#50612; &#51080;&#45716; &#47784;&#45944;&#51012; &#44032;&#47532;&#53412;&#44256; &#51080;&#45716; &#50808;&#48512;&#53412;&#51032; &#51060;&#47492;&lt;/p&gt;
&lt;p&gt;Cake &#51032; &#45348;&#51060;&#48141; &#44508;&#50557;&#50640; &#46384;&#46972;&#49436; &#50630;&#45716; &#45936;&#51060;&#53552;&#48288;&#51060;&#49828;&#47484; &#49324;&#50857;&#54616;&#44256; &#51080;&#45716; &#44221;&#50864;&#50640; &#50668;&#44592;&#49436; &#51648;&#51221;&#54624; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51060;&#51228;, Profile &#47784;&#45944;&#47196; find() &#46608;&#45716; findAll() &#51012; &#54840;&#52636;&#54616;&#47732;, &#50672;&#44288;&#46104;&#50612; &#51080;&#45716; User &#47784;&#45944;&#46020; &#54632;&#44760; &#48380; &#49688; &#51060;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;$profile = $this-&amp;gt;Profile-&amp;gt;read(null, '4');&lt;br /&gt;
print_r($profile);&lt;br /&gt;
&lt;br /&gt;
// &#52636;&#47141;:&lt;br /&gt;
&lt;br /&gt;
Array&lt;br /&gt;
(&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; [Profile] =&amp;gt; Array&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [id] =&amp;gt; 4&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [name] =&amp;gt; Cool Blue&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [header_color] =&amp;gt; aquamarine&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [user_id] = 25&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; [User] =&amp;gt; Array&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [id] =&amp;gt; 25&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [first_name] =&amp;gt; John&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [last_name] =&amp;gt; Anderson&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [username] =&amp;gt; psychic&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [password] =&amp;gt; c4k3roxx&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h5&gt;6.4.4. hasMany &#51221;&#51032; &#48143; &#51656;&#51032;&#54616;&#44592;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365949#toc_13" class="anchor" title="toc_13" id="toc_13" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h5&gt;
&lt;p&gt;User &#47784;&#45944;&#44284; Profile &#47784;&#45944;&#51060; &#50672;&#44288;&#46104;&#44256;, &#50732;&#48148;&#47476;&#44172; &#51089;&#46041;&#54616;&#44172; &#46104;&#50632;&#44592; &#46412;&#47928;&#50640;, User &#47112;&#53076;&#46300;&#47484; Comment &#47112;&#53076;&#46300;&#50752; &#50672;&#44288;&#49884;&#53020; &#48372;&#46020;&#47197; &#54620;&#45796;. &#51060;&#44163;&#51008;, User &#47784;&#45944;&#51012; &#45796;&#51020;&#44284; &#44057;&#51060; &#54616;&#45716; &#44163;&#51004;&#47196; &#44032;&#45733;&#54616;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&#50696; 6.6. /app/models/user.php hasMany&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;&lt;span&gt;&amp;lt;?php&lt;br /&gt;
class User extends AppModel&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var $name = 'User';&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var $hasMany = array('Comment' =&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;array('className'&amp;nbsp; &amp;nbsp; &amp;nbsp;=&amp;gt; 'Comment',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'conditions'&amp;nbsp; &amp;nbsp; =&amp;gt; 'Comment.moderated = 1',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'order'&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=&amp;gt; 'Comment.created DESC',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'limit'&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=&amp;gt; '5',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'foreignKey'&amp;nbsp; &amp;nbsp; =&amp;gt; 'user_id',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'dependent'&amp;nbsp; &amp;nbsp; &amp;nbsp;=&amp;gt; true,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'exclusive'&amp;nbsp; &amp;nbsp; &amp;nbsp;=&amp;gt; false,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'finderQuery'&amp;nbsp; &amp;nbsp;=&amp;gt; ''&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; );&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; // &#48169;&#44552;&#51204;&#50640; &#51221;&#51032;&#54664;&#45912; hasOne &#51032; &#44288;&#44228;..&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var $hasOne = array('Profile' =&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; array('className'&amp;nbsp; &amp;nbsp; =&amp;gt; 'Profile',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'conditions'&amp;nbsp; &amp;nbsp;=&amp;gt; '',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'order'&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; =&amp;gt; '',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'dependent'&amp;nbsp; &amp;nbsp; =&amp;gt;&amp;nbsp; true,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'foreignKey'&amp;nbsp; &amp;nbsp;=&amp;gt; 'user_id'&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; );&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$hasMany &#48176;&#50676;&#51008;, Cake &#44032; User &#47784;&#45944;&#44284; Comment &#47784;&#45944; &#49324;&#51060;&#50640; &#50672;&#44288;&#51012; &#47564;&#46308; &#46412; &#49324;&#50857;&#54620;&#45796;. &#48176;&#50676; &#44032;&#44033;&#51032; &#53412;&#50640; &#50672;&#44288;&#51012; &#45908;&#50865; &#49345;&#49464;&#54616;&#44172; &#49444;&#51221;&#54624; &#49688; &#51080;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;className (&#54596;&#49688;): &#50672;&#44288;&#51667;&#44256; &#49910;&#51008; &#47784;&#45944;&#51032; &#53364;&#47000;&#49828;&#47749;&lt;/p&gt;
&#50948; &#50696;&#51228;&#50640;&#49436;&#45716;, 'Comment' &#47784;&#45944;&#51032; &#53364;&#47000;&#49828;&#47749;&#51012; &#51648;&#51221;&#54616;&#44256; &#51080;&#45796;.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;conditions: &#44288;&#44228;&#47484; &#51221;&#51032;&#54620; SQL &#51312;&#44148;&#51032; &#51068;&#48512;&lt;/p&gt;
&lt;p&gt;&#51312;&#51221;&#46108;(moderated) Comment &#47564;&#51012; &#50672;&#44288; &#51667;&#46020;&#47197; Cake &#50640; &#47749;&#47161;&#54624;&#46412;, &#45796;&#51020;&#44284; &#44057;&#51060; &#53412;&#47484; &#49444;&#51221;&#54616;&#47732; &#44032;&#45733;&#54616;&#45796; : "Comment.moderated = 1" &#46321;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;order: &#50672;&#44288;&#46108; &#47784;&#45944;&#51032; &#45936;&#51060;&#53552; &#51221;&#47148;&lt;/p&gt;
&lt;p&gt;&#50672;&#44288;&#46108; &#47784;&#45944;&#51012; &#53945;&#51221; &#49692;&#49436;&#47196; &#51221;&#47148;&#54616;&#44256; &#49910;&#51008; &#44221;&#50864;, &#51060; &#53412;&#47196; SQL &#51032; order &#48169;&#48277;&#51004;&#47196; &#44050;&#51012; &#49444;&#51221;&#54620;&#45796;, &#50696;&#47484; &#46308;&#47732; : "Comment.created DESC" &#46321;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;limit: Cake &#44032; &#48520;&#47084;&#50724;&#45716; &#44288;&#47144; &#47784;&#45944;&#51032; &#45936;&#51060;&#53552;&#51032; &#52572;&#45824; &#44079;&#49688;&lt;/p&gt;
&lt;p&gt;&#50948; &#50696;&#50640;&#49436;&#45716;, &#50976;&#51200;&#51032; Comment &#47484; &#51204;&#48512; &#48520;&#47084;&#50724;&#51648; &#50506;&#44256; 5&#44060;&#47564; &#48520;&#47084;&#50728;&#45796;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;foreignKey: &#50672;&#44288;&#46104;&#50612; &#51080;&#45716; &#47784;&#45944;&#51012; &#44032;&#47532;&#53412;&#44256; &#51080;&#45716; &#50808;&#48512;&#53412;&#51032; &#51060;&#47492;&lt;/p&gt;
&lt;p&gt;Cake &#51032; &#45348;&#51060;&#48141; &#44508;&#50557;&#50640; &#46384;&#46972;&#49436; &#50630;&#45716; &#45936;&#51060;&#53552;&#48288;&#51060;&#49828;&#47484; &#49324;&#50857;&#54616;&#44256; &#51080;&#45716; &#44221;&#50864;&#50640; &#50668;&#44592;&#49436; &#51648;&#51221;&#54624; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;dependent: true &#47196; &#49444;&#51221;&#54616;&#47732;, &#51060; &#47784;&#45944;&#51032; &#45936;&#51060;&#53552; &#49325;&#51228;&#49884;&#50640; &#50672;&#44288;&#46104;&#50612; &#51080;&#45716; &#47784;&#45944; &#52769;&#51032; &#45936;&#51060;&#53552;&#46020; &#49325;&#51228;&#46108;&#45796;.
&lt;p&gt;&#50696;&#47484; &#46308;&#47732;, &#54532;&#47196;&#54596; "Cool Blue" &#44032; "Bob" &#50640; &#50672;&#44288;&#46104;&#50612; &#51080;&#45716; &#44221;&#50864;, "Bob" &#46972;&#45716; &#50976;&#51200;&#47484; &#49325;&#51228;&#54616;&#44256;, &#54532;&#47196;&#54596; "Cool Blue" &#46020; &#49325;&#51228;&#46108;&#45796;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;exclusive: true &#47196; &#49444;&#51221;&#54616;&#47732;, &#50672;&#44288;&#46108; &#47784;&#46304; &#44061;&#52404;&#44032; &#54616;&#45208;&#51032; SQL &#44396;&#47928;&#51032;&#47196; &#49325;&#51228;&#46108;&#45796;. beforeDelete &#53084;&#48177;&#51008; &#49892;&#54665;&#46104;&#51648; &#50506;&#45716;&#45796;.&lt;/p&gt;
&lt;p&gt;&#48736;&#47476;&#44172; &#51089;&#46041;&#54616;&#44592; &#46412;&#47928;&#50640; &#44036;&#45800;&#54620; &#50672;&#44288;&#50640;&#49436; &#54876;&#50857;&#54624; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;finderQuery: &#50672;&#44288;&#51012; &#48520;&#47084;&#50724;&#44592; &#50948;&#54644; &#50756;&#51204;&#54620; SQL &#44396;&#47928;&#51012; &#51648;&#51221;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&#50668;&#47084; &#53580;&#51060;&#48660;&#50640; &#51032;&#51316;&#54616;&#45716; &#48373;&#51105;&#54620; &#50672;&#44288;&#51032; &#44221;&#50864;&#50640; &#54876;&#50857;&#54624; &#49688; &#51080;&#45796;. &#47564;&#51068; Cake &#51032; &#51088;&#46041; &#50672;&#44288;&#51012; &#49324;&#50857;&#54624; &#49688; &#50630;&#51012; &#44221;&#50864;&#50640;, &#51060;&#44163;&#51004;&#47196; &#52964;&#49828;&#53552;&#47560;&#51060;&#51669;&#51060; &#44032;&#45733;&#54616;&#45796;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51060;&#51228;, User &#47784;&#45944;&#47196; find() &#46608;&#45716; findAll() &#51012; &#54840;&#52636;&#54616;&#47732;, &#50672;&#44288;&#46104;&#50612; &#51080;&#45716; Comment &#47784;&#45944;&#46020; &#54632;&#44760; &#48380; &#49688; &#51080;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;$user = $this-&amp;gt;User-&amp;gt;read(null, '25');&lt;br /&gt;
print_r($user);&lt;br /&gt;
&lt;br /&gt;
//output:&lt;br /&gt;
&lt;br /&gt;
Array&lt;br /&gt;
(&lt;br /&gt;
&amp;nbsp; &amp;nbsp; [User] =&amp;gt; Array&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [id] =&amp;gt; 25&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [first_name] =&amp;gt; John&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [last_name] =&amp;gt; Anderson&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [username] =&amp;gt; psychic&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [password] =&amp;gt; c4k3roxx&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; [Profile] =&amp;gt; Array&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [id] =&amp;gt; 4&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [name] =&amp;gt; Cool Blue&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [header_color] =&amp;gt; aquamarine&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [user_id] = 25&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; [Comment] =&amp;gt; Array&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [0] =&amp;gt; Array&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [id] =&amp;gt; 247&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [user_id] =&amp;gt; 25&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [body] =&amp;gt; The hasMany assocation is nice to have.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [1] =&amp;gt; Array&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [id] =&amp;gt; 256&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [user_id] =&amp;gt; 25&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [body] =&amp;gt; The hasMany assocation is really nice to have.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [2] =&amp;gt; Array&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [id] =&amp;gt; 269&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [user_id] =&amp;gt; 25&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [body] =&amp;gt; The hasMany assocation is really, really nice to have.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [3] =&amp;gt; Array&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [id] =&amp;gt; 285&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [user_id] =&amp;gt; 25&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [body] =&amp;gt; The hasMany assocation is extremely nice to have.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [4] =&amp;gt; Array&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [id] =&amp;gt; 286&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [user_id] =&amp;gt; 25&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [body] =&amp;gt; The hasMany assocation is super nice to have.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#54532;&#47196;&#49464;&#49828;&#47484; &#47928;&#49436;&#50640; &#49444;&#47749;&#54616;&#45716; &#44163;&#51008; &#54616;&#51648; &#50506;&#44256; &#51080;&#51648;&#47564;, "Comment belongsTo User" &#50672;&#44288;&#46020; &#51221;&#51032;&#54616;&#44256;, &#49345;&#54840; &#47784;&#45944;&#47196;&#48512;&#53552; &#49345;&#45824;&#44032; &#48372;&#51060;&#46020;&#47197; &#54616;&#45716; &#44163;&#51008; &#51339;&#51008; &#49373;&#44033;&#51060;&#45796;. &#49828;&#52880;&#54260;&#46377;&#51012; &#49324;&#50857;&#54616;&#47140; &#54664;&#51012; &#46412;, &#49345;&#54840; &#47784;&#45944;&#47196;&#48512;&#53552; &#50672;&#44288;&#51012; &#51221;&#51032;&#54616;&#51648; &#50506;&#45716; &#44163;&#51008;&amp;nbsp;&#44032;&#45140; &#55124;&#54620; &#49892;&#49688;&#44032; &#46104;&#44592;&#46020; &#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h5&gt;6.4.5. hasAndBelongToMany &#51221;&#51032; &#48143; &#51656;&#51032;&#54616;&#44592;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365949#toc_14" class="anchor" title="toc_14" id="toc_14" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h5&gt;
&lt;p&gt;&#44036;&#45800;&#54620; &#50672;&#44288;&#50640; &#44288;&#54644;&#49436;&#45716; &#51060;&#44163;&#51004;&#47196; &#47560;&#49828;&#53552; &#44032;&#45733;&#54616;&#45796;. &#45796;&#51020;&#51004;&#47196;&#45716;, &#47560;&#51648;&#47561; &#50672;&#44288; : hasAndBelongsToMany (&#46608;&#45716; HABTM) &#51004;&#47196; &#51060;&#46041;&#54616;&#51088;. &#51060;&#44163;&#51008; &#44036;&#45800;&#55176; &#51060;&#54644;&#46104;&#51648;&#45716; &#50506;&#44192;&#51648;&#47564;, &#44032;&#51109; &#50976;&#50857;&#54620; &#44163;&#51473; &#54616;&#45208;&#51060;&#45796;. HABTM &#50672;&#44288;&#51008;, &#46160;&#44060;&#51032; &#53580;&#51060;&#48660;&#51060; &#51080;&#44256;, &#44536; &#46160;&#44060;&#47484; &#51312;&#51064; &#53580;&#51060;&#48660;&#47196; &#50672;&#44208;&#46104;&#50612; &#46412; &#50976;&#50857;&#54616;&#45796;. &#51312;&#51064; &#53580;&#51060;&#48660;&#51008; &#45796;&#47480; &#44163;&#44284; &#44288;&#47144;&#54616;&#44256; &#51080;&#45716; &#44060;&#48324;&#51201;&#51064; &#50676;&#51032; &#51221;&#48372;&#47484; &#44054;&#45716;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;hasMany &#50752; hasAndBelongsToMany &#51032; &#52264;&#51060;&#45716;, hasMany &#51032; &#44221;&#50864;, &#44288;&#47144;&#46104;&#50612; &#51080;&#45716; &#47784;&#45944;&#51032; &#45936;&#51060;&#53440;&#47484; &#44277;&#50976;&#54624; &#49688; &#50630;&#45796;&#45716; &#44163;&#51060;&#45796;. &#47564;&#51068; User hasMany Comments (User &#44032; &#50668;&#47084; Comment &#47484; &#44054;&#44256; &#51080;&#45796;) &#46972;&#47732;, Comment &#50752; &#44288;&#47144;&#46104;&#50612; &#51080;&#45716; &#44163;&#51008;, User *&#49104;*&#51060;&#45796;. HABTM &#45716;, &#44288;&#47144;&#46108; &#47784;&#45944; &#45936;&#51060;&#53440;&#47484; &#44277;&#50976;&#54624; &#49688; &#51080;&#45796;. &#51060;&#44163;&#51008; &#45796;&#51020; &#44221;&#50864;&#50640; &#47588;&#50864; &#53441;&#50900;&#54616;&#45796; : Post &#47784;&#45944;&#51012; Tag &#47784;&#45944;&#50640; &#50672;&#44288;&#49884;&#53420; &#46412;. Tag &#45716; Post &#50640; belongs to(&#49549;&#54624;) &#51032;&amp;nbsp;&#44288;&#44228;&#51060;&#51648;&#47564;, &#49548;&#47784;&#54644; &#48260;&#47532;&#45716; &#44163;&#51008; &#48148;&#46988;&#51649;&#54616;&#51648; &#50506;&#45796;, Tag &#45716; &#44228;&#49549;&#54644;&#49436; &#45796;&#47480; Post &#48512;&#53552;&#46020; &#50672;&#44288;&#49884;&#53412;&#44256; &#49910;&#44592; &#46412;&#47928;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#44536;&#47084;&#44592; &#50948;&#54644;&#49436;&#45716;, &#51060; &#50672;&#44288;&#47484; &#50948;&#54644;&#49436; &#53580;&#51060;&#48660;&#51012; &#48148;&#47476;&#44172; &#49444;&#51221;&#54624; &#54596;&#50836;&#44032; &#51080;&#45796;. &#47932;&#47200;, Tag &#47784;&#45944;&#51012; &#50948;&#54620; "tags" &#53580;&#51060;&#48660;, &#44536;&#47532;&#44256; Post &#47784;&#45944;&#51012; &#50948;&#54620; "posts" &#53580;&#51060;&#48660;&#51060; &#54596;&#50836;&#54633;&#45768;&#45796;. &#44536;&#47532;&#44256;, &#50672;&#44288;&#51012; &#50948;&#54644;&#49436;, &#49352;&#47196; &#51312;&#51064; &#53580;&#51060;&#48660;&#51012; &#49373;&#49457;&#54624; &#54596;&#50836;&#46020; &#51080;&#45796;. HABTM &#51312;&#51064; &#53580;&#51060;&#48660; &#45348;&#51060;&#48141; &#44508;&#50557;&#51008; [&#48373;&#49688;&#54805; &#47784;&#45944;&#47749;1]_[&#48373;&#49688;&#54805; &#47784;&#45944;&#47749;2] &#51060;&#45796;. &#47784;&#45944;&#47749;&#51008; &#50508;&#54028;&#48307; &#49692;&#49436;&#45824;&#47196; &#51221;&#47148;&#54620;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&#50696; 6.7. HABTM &#51312;&#51064; &#53580;&#51060;&#48660; : &#49368;&#54540; &#47784;&#45944;&#44284; &#51312;&#51064; &#53580;&#51060;&#48660;&#47749;&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;span&gt;Posts &#50752; Tags: posts_tags&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Monkeys &lt;span&gt;&#50752;&lt;/span&gt; ceCubes: ice_cubes_monkeys&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Categories &lt;span&gt;&#50752;&lt;/span&gt; Articles: articles_categories&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;HABTM &#51312;&#51064; &#53580;&#51060;&#48660;&#51008; &#50672;&#44208;&#46108; &#47784;&#45944;&#50640; &#44288;&#54644; &#52572;&#49548; &#46160;&#44060;&#51032; &#50808;&#48512;&#53412;&#47196; &#44396;&#49457;&#46104;&#50612; &#51080;&#45796;. &#51060; &#50696;&#50640;&#49436;&#45716;, "post_id"&amp;nbsp; &#50752; "tag_id" &#47564;&#51060; &#54596;&#50836;&#54616;&#45796;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Post HABTM Tags &#51032; SQL &#45924;&#54532; &#50696;&#51060;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;--&lt;br /&gt;
-- Table structure for table `posts`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `posts` (&lt;br /&gt;
&amp;nbsp; `id` int(10) unsigned NOT NULL auto_increment,&lt;br /&gt;
&amp;nbsp; `user_id` int(10) default NULL,&lt;br /&gt;
&amp;nbsp; `title` varchar(50) default NULL,&lt;br /&gt;
&amp;nbsp; `body` text,&lt;br /&gt;
&amp;nbsp; `created` datetime default NULL,&lt;br /&gt;
&amp;nbsp; `modified` datetime default NULL,&lt;br /&gt;
&amp;nbsp; `status` tinyint(1) NOT NULL default '0',&lt;br /&gt;
&amp;nbsp; PRIMARY KEY&amp;nbsp; (`id`)&lt;br /&gt;
) TYPE=MyISAM;&lt;br /&gt;
&lt;br /&gt;
-- --------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `posts_tags`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `posts_tags` (&lt;br /&gt;
&amp;nbsp; `post_id` int(10) unsigned NOT NULL default '0',&lt;br /&gt;
&amp;nbsp; `tag_id` int(10) unsigned NOT NULL default '0',&lt;br /&gt;
&amp;nbsp; PRIMARY KEY&amp;nbsp; (`post_id`,`tag_id`)&lt;br /&gt;
) TYPE=MyISAM;&lt;br /&gt;
&lt;br /&gt;
-- --------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
-- Table structure for table `tags`&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `tags` (&lt;br /&gt;
&amp;nbsp; `id` int(10) unsigned NOT NULL auto_increment,&lt;br /&gt;
&amp;nbsp; `tag` varchar(100) default NULL,&lt;br /&gt;
&amp;nbsp; PRIMARY KEY&amp;nbsp; (`id`)&lt;br /&gt;
) TYPE=MyISAM;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#53580;&#51060;&#48660;&#51032; &#49444;&#51221;&#51060; &#44032;&#45733;&#54616;&#47732; Post &#47784;&#45944;&#51032; &#50672;&#44288;&#51012; &#49444;&#51221;&#54620;&#45796;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="title"&gt;&lt;strong&gt;&#50696; 6.8.&lt;/strong&gt; &lt;strong&gt;/app/models/post.php hasAndBelongsToMany&lt;/strong&gt;&lt;/p&gt;
&lt;p class="title"&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;&lt;span&gt;&amp;lt;?php&lt;br /&gt;
class Post extends AppModel&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var $name = 'Post';&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var $hasAndBelongsToMany = array('Tag' =&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;array('className'&amp;nbsp; &amp;nbsp; =&amp;gt; 'Tag',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'joinTable'&amp;nbsp; &amp;nbsp; =&amp;gt; 'posts_tags',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'foreignKey'&amp;nbsp; &amp;nbsp;=&amp;gt; 'post_id',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'associationForeignKey'=&amp;gt; 'tag_id',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'conditions'&amp;nbsp; &amp;nbsp;=&amp;gt; '',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'order'&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; =&amp;gt; '',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'limit'&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; =&amp;gt; '',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'unique'&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=&amp;gt; true,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'finderQuery'&amp;nbsp; =&amp;gt; '',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;'deleteQuery'&amp;nbsp; =&amp;gt; '',&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;);&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="title"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="title"&gt;$hasAndBelongsToMany &#48176;&#50676;&#51008;, Cake &#44032; Post &#47784;&#45944;&#44284; Tag &#47784;&#45944;&#51032; &#49324;&#51060;&#50640; &#50672;&#44288;&#51012; &#47564;&#46308; &#46412; &#49324;&#50857;&#54620;&#45796;. &#48176;&#50676; &#44032;&#44033;&#51032; &#53412;&#50640; &#50672;&#44288;&#51012; &#45908;&#50865; &#49345;&#49464;&#54616;&#44172; &#49444;&#51221;&#54624; &#49688; &#51080;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;className (&#54596;&#49688;): &#50672;&#44288;&#51667;&#44256; &#49910;&#51008; &#47784;&#45944;&#51032; &#53364;&#47000;&#49828;&#47749;&lt;/p&gt;
&#50948; &#50696;&#51228;&#50640;&#49436;&#45716;, 'Tag' &#47784;&#45944;&#51032; &#53364;&#47000;&#49828;&#47749;&#51012; &#51648;&#51221;&#54616;&#44256; &#51080;&#45796;.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;joinTable: Cake &#51032; &#45348;&#51060;&#48141; &#44508;&#50557;&#50640; &#46384;&#46972;&#49436; &#50630;&#45716; &#45936;&#51060;&#53552;&#48288;&#51060;&#49828;&#51032; &#44221;&#50864;&#45716; &#50668;&#44592;&#50640;&#49436; &#49444;&#51221;&#54620;&#45796;. [&#48373;&#49688;&#54805; &#47784;&#45944;1]_[&#48373;&#49688;&#54805; &#47784;&#45944;2] &#51032; &#49324;&#51204;&#51201;&#51064; &#49692;&#49436;&#51060; &#46104;&#50612; &#51080;&#51648; &#50506;&#51008; &#44221;&#50864;&#50640;&#45716;, &#53580;&#51060;&#48660;&#47749;&#51008; &#50668;&#44592;&#50640;&#49436; &#51648;&#51221;&#54620;&#45796;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;foreignKey: &#54788;&#51116;&#51032; &#47784;&#45944;&#51012; &#44032;&#47532;&#53412;&#45716; &#51312;&#51064; &#53580;&#51060;&#48660; &#45236;&#51032; &#50808;&#48512; &#53412;&#51032; &#51060;&#47492;.&lt;/p&gt;
&lt;p&gt;Cake &#51032; &#45348;&#51060;&#48141; &#44508;&#50557;&#50640; &#46384;&#46972;&#49436; &#50630;&#45716; &#45936;&#51060;&#53552;&#48288;&#51060;&#49828;&#51032; &#44221;&#50864;&#45716; &#50668;&#44592;&#50640;&#49436; &#49444;&#51221;&#54620;&#45796;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;associationForeignKey: &#50672;&#44288;&#46104;&#50612; &#51080;&#45716; &#47784;&#45944;&#51012; &#44032;&#47532;&#53412;&#45716; &#50808;&#48512; &#53412;&#51032; &#51060;&#47492;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;conditions: &#44288;&#44228;&#47484; &#51221;&#51032;&#54620; SQL &#51312;&#44148;&#51032; &#51068;&#48512;&lt;/p&gt;
&lt;p&gt;&#51077;&#51613;&#46108;(approved) Tag &#47564;&#51012; &#50672;&#44288; &#51667;&#46020;&#47197; Cake &#50640; &#47749;&#47161;&#54624;&#46412;, &#45796;&#51020;&#44284; &#44057;&#51060; &#53412;&#47484; &#49444;&#51221;&#54616;&#47732; &#44032;&#45733;&#54616;&#45796; : "Tag.approved = 1" &#46321;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;order: &#50672;&#44288;&#46108; &#47784;&#45944;&#51032; &#45936;&#51060;&#53552; &#51221;&#47148;&lt;/p&gt;
&lt;p&gt;&#50672;&#44288;&#46108; &#47784;&#45944;&#51012; &#53945;&#51221; &#49692;&#49436;&#47196; &#51221;&#47148;&#54616;&#44256; &#49910;&#51008; &#44221;&#50864;, &#51060; &#53412;&#47196; SQL &#51032; order &#48169;&#48277;&#51004;&#47196; &#44050;&#51012; &#49444;&#51221;&#54620;&#45796;, &#50696;&#47484; &#46308;&#47732; : "Tag.tag DESC DESC" &#46321;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;limit: Cake &#44032; &#48520;&#47084;&#50724;&#45716; &#44288;&#47144; &#47784;&#45944;&#51032; &#45936;&#51060;&#53552;&#51032; &#52572;&#45824; &#44079;&#49688;&lt;/p&gt;
&lt;p&gt;&#48520;&#47084;&#50732; &#50672;&#44288;&#46108; Tags&amp;nbsp;&#51032; &#44079;&#49688;&#47484; &#54620;&#51221;&#54624; &#46412; &#49324;&#50857;&#54620;&#45796;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;unique: true &#47196; &#49444;&#51221;&#54616;&#47732;, &#50529;&#49464;&#49828;&#50752; &#53244;&#47532; &#47700;&#49548;&#46300;&#50640;&#49436;, &#44288;&#47144;&#46108; &#44061;&#52404;&#44032; &#51473;&#48373;&#46104;&#45716; &#44221;&#50864;&#50640;&#45716; &#47924;&#49884;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&#44592;&#48376;&#51201;&#51004;&#47196;, &#44288;&#44228;&#44032; &#48324;&#44060;&#47196; &#46104;&#50612; &#51080;&#45716; &#44221;&#50864;&#50640;&#45716;, true &#47196; &#49444;&#51221;&#54620;&#45796;. &#44536;&#47111;&#45796;&#47732;, "Awesomeness" &#51060;&#46972;&#45716;&amp;nbsp;tag&#45716;, Post &#51032; "Cake Model Associations" &#50640; &#54620; &#48264;&#47564; &#48516;&#48176;&#46104;&#44256;, &#44208;&#44284; &#48176;&#50676; &#51473;&#50640;&#51008;, &#54620; &#48264;&#48150;&#50640; &#45208;&#53440;&#45208;&#51648; &#50506;&#45716;&#45796;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;finderQuery: &#50672;&#44288;&#51012; &#48520;&#47084;&#50724;&#44592; &#50948;&#54644; &#50756;&#51204;&#54620; SQL &#44396;&#47928;&#51012; &#51648;&#51221;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&#50668;&#47084; &#53580;&#51060;&#48660;&#50640; &#51032;&#51316;&#54616;&#45716; &#48373;&#51105;&#54620; &#50672;&#44288;&#51032; &#44221;&#50864;&#50640; &#54876;&#50857;&#54624; &#49688; &#51080;&#45796;. &#47564;&#51068; Cake &#51032; &#51088;&#46041; &#50672;&#44288;&#51012; &#49324;&#50857;&#54624; &#49688; &#50630;&#51012; &#44221;&#50864;&#50640;, &#51060;&#44163;&#51004;&#47196; &#52964;&#49828;&#53552;&#47560;&#51060;&#51669;&#51060; &#44032;&#45733;&#54616;&#45796;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;deleteQuery: HABTM &#47784;&#45944;&#44036;&#51032; &#50672;&#44288; &#45936;&#51060;&#53552;&#47484; &#50630;&#50528;&#45716; &#50756;&#51204;&#54620; SQL &#44396;&#47928;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;Cake &#51032; &#49325;&#51228; &#48169;&#48277;&#51060; &#48148;&#46988;&#51649;&#54616;&#51648; &#50506;&#44144;&#45208;, &#49444;&#51221;&#51060; &#52964;&#49828;&#53552;&#47560;&#51060;&#51669; &#46104;&#50612; &#51080;&#45716; &#44221;&#50864;&#50640;, &#51088;&#49888;&#51032; &#53244;&#47532;&#47484; &#50668;&#44592;&#50640; &#49444;&#51221;&#54616;&#50668; &#49325;&#51228; &#46041;&#51089; &#48169;&#48277;&#51012; &#48320;&#44221;&#54624; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51060;&#51228;, Post &#47784;&#45944;&#47196; find() &#46608;&#45716; findAll() &#51012; &#54840;&#52636;&#54616;&#47732;, &#50672;&#44288;&#46104;&#50612; &#51080;&#45716; Tag &#47784;&#45944;&#46020; &#54632;&#44760; &#48380; &#49688; &#51080;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;$post = $this-&amp;gt;Post-&amp;gt;read(null, '2');&lt;br /&gt;
print_r($post);&lt;br /&gt;
&lt;br /&gt;
//output:&lt;br /&gt;
&lt;br /&gt;
Array&lt;br /&gt;
(&lt;br /&gt;
&amp;nbsp; &amp;nbsp; [Post] =&amp;gt; Array&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [id] =&amp;gt; 2&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [user_id] =&amp;gt; 25&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [title] =&amp;gt; Cake Model Associations&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [body] =&amp;gt; Time saving, easy, and powerful.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [created] =&amp;gt; 2006-04-15 09:33:24&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [modified] =&amp;gt; 2006-04-15 09:33:24&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [status] =&amp;gt; 1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; [Tag] =&amp;gt; Array&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [0] =&amp;gt; Array&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [id] =&amp;gt; 247&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [tag] =&amp;gt; CakePHP&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [1] =&amp;gt; Array&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [id] =&amp;gt; 256&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [tag] =&amp;gt; Powerful Software&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h5&gt;6.4.6. &#44288;&#47144; &#45936;&#51060;&#53552; &#51200;&#51109;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365949#toc_15" class="anchor" title="toc_15" id="toc_15" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h5&gt;
&lt;p&gt;&#44288;&#47144;&#46108; &#47784;&#45944;&#47196; &#51089;&#50629;&#54624; &#46412; &#44592;&#50613;&#54644;&#50556;&#54624; &#51473;&#50836;&#54620; &#51452;&#51032;&#49324;&#54637; &#54616;&#45208;&#45716;, &#47784;&#45944; &#45936;&#51060;&#53552;&#51032; &#51200;&#51109;&#51008; &#50616;&#51228;&#45208; &#45824;&#51025;&#54616;&#45716; &#52992;&#51060;&#53356; &#47784;&#45944;&#50640; &#51032;&#54644; &#54665;&#54644;&#51256;&#50556; &#54620;&#45796;&#45716; &#44163;&#51060;&#45796;. &#47564;&#50557; &#49352;&#47196;&#50868; Post &#54616;&#45208;&#50752; &#51060; Post &#50640; &#44288;&#47144;&#46108; Comment &#46308;&#51012; &#51200;&#51109;&#54620;&#45796;&#47732; &#51200;&#51109; &#51089;&#50629;&#46041;&#50504; Post &#50752; Comment &#47784;&#46160;&#47484; &#49324;&#50857;&#54624; &#44163;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#47564;&#51068; &#44288;&#47144;&#46108; &#47784;&#45944;&#51060; &#50612;&#45712;&#51901;&#46020; &#50500;&#51649; &#51316;&#51116;&#54616;&#51648; &#50506;&#45716;&#45796;&#47732; (&#50696;&#47484; &#46308;&#50612;, &#49352;&#47196;&#50868; Post &#50752; &#44288;&#47144;&#46108; Comment &#47484; &#46041;&#49884;&#50640; &#51200;&#51109;&#54616;&#44256; &#49910;&#45796;), &#47676;&#51200; &#51452;&#44032;&#46104;&#44144;&#45208; &#48512;&#47784;&#51032; &#47784;&#45944;&#51012; &#47676;&#51200; &#51200;&#51109;&#54624; &#54596;&#50836;&#44032; &#51080;&#51012; &#44163;&#51060;&#45796;. &#51060;&#44163;&#51060; &#50612;&#46523;&#44172; &#51089;&#46041;&#54616;&#45716;&#51648; &#50500;&#51060;&#46377;&#50612;&#47484; &#50619;&#51004;&#47140;&#47732;, &#49352;&#47196;&#50868; Post &#50752; &#44288;&#47144;&#46108; Comment &#51032; &#51200;&#51109;&#51012; &#45796;&#47336;&#45716; PostsController &#45236;&#51032; &#50529;&#49496;&#51012; &#44054;&#44256; &#51080;&#45796;&#44256; &#49345;&#49345;&#54616;&#51088;. &#50500;&#47000; &#50696;&#47196; &#46304; &#50529;&#49496;&#51008; &#54616;&#45208;&#51032; Post &#50752; &#54616;&#45208;&#51032; Comment &#47484; &#51089;&#49457;&#54664;&#45796;&#44256; &#44032;&#51221;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&#50696; 6.4.5 /app/controllers/posts_controller.php (&#51068;&#48512;)&lt;/strong&gt;&lt;/p&gt;
&lt;ol class="code"&gt;&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;function add()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!empty($this-&amp;gt;data))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Post &#45936;&#51060;&#53552;&#47484; &#51200;&#51109;&#54624; &#49688; &#51080;&#45796;:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&#51060;&#44163;&#51008; $this-&amp;gt;data['Post'] &#49549;&#50640; &#51080;&#51012; &#44163;&#51060;&#45796;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;Post-&amp;gt;save($this-&amp;gt;data);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&#51088;, Comment &#45936;&#51060;&#53552;&#47484; &#51200;&#51109;&#54624; &#54596;&#50836;&#44032; &#51080;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&#54616;&#51648;&#47564; &#47676;&#51200;, &#48169;&#44552; &#51200;&#51109;&#54620; Post &#51032; ID &#47484; &#50508;&#50500; &#45236;&#50556; &#54620;&#45796;...&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $post_id = $this-&amp;gt;Post-&amp;gt;getLastInsertId();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&#51060;&#51228; &#45936;&#51060;&#53552;&#47484; &#51200;&#51109;&#54616;&#44256; comment &#47484; &#51200;&#51109;&#54616;&#44592; &#50948;&#54620; &#51060; &#51221;&#48372;&#47484; &#52628;&#44032;&#54620;&#45796;.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;data['Comment']['post_id'] = $post_id;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Post hasMany Comments &#44288;&#47144; &#46412;&#47928;&#50640;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Post &#47784;&#45944;&#51012; &#53685;&#54644; Comment &#47784;&#45944;&#50640; &#51217;&#44540;&#54624; &#49688; &#51080;&#45796; :&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;Post-&amp;gt;Comment-&amp;gt;save($this-&amp;gt;data);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#44536;&#47084;&#45208;, &#47564;&#50557;, &#48512;&#47784; &#47784;&#45944;&#51060; &#49884;&#49828;&#53596;&#50640; &#51060;&#48120; &#51316;&#51116;&#54624; &#44221;&#50864; (&#50696;&#47484; &#46308;&#50612;, &#51316;&#51116;&#54616;&#45716; Post &#50640; Comment &#47484; &#52628;&#44032;&#54620;&#45796;), &#51200;&#51109;&#54616;&#44592; &#51204;&#50640; &#48512;&#47784;&#47784;&#45944;&#51032; ID &#47484; &#50508; &#54596;&#50836;&#44032; &#51080;&#45796;. URL &#54028;&#46972;&#48120;&#53552; , &#46608;&#45716; &#54268;&#51032; hidden &#50836;&#49548;&#47196; ID &#47484; &#45336;&#44200; &#48155;&#51012; &#49688; &#51080;&#45796;...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&#50696; /app/controllers/posts_controller.php (&#51068;&#48512;)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;//&#51060;&#44275;&#50640;&#49436; URL &#54028;&#46972;&#48120;&#53552;&#44032; &#50612;&#46523;&#44172; &#49324;&#50857;&#46104;&#45716;&#51648; &#48380; &#49688; &#51080;&#45796;...&lt;br /&gt;
function addComment($post_id)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!empty($this-&amp;gt;data))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //$post_id &#47484; &#45908;&#50865; &#50504;&#51204;&#54616;&#44172; &#47564;&#46308;&#50612; &#49910;&#50632;&#51012; &#51648; &#47784;&#47480;&#45796;,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&#54616;&#51648;&#47564; &#51060; &#51089;&#46041; &#50696;&#51228;&#50640;&#49436;&#45716; &#51060;&#44163;&#51004;&#47196; &#51313;&#54616;&#45796;..&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;data['Comment']['post_id'] = $post_id;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Post hasMany Comments &#44288;&#47144; &#46412;&#47928;&#50640;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Post &#47784;&#45944;&#51012; &#53685;&#54644; Comment &#47784;&#45944;&#50640; &#51217;&#44540;&#54624; &#49688; &#51080;&#45796; :&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;Post-&amp;gt;Comment-&amp;gt;save($this-&amp;gt;data);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#47564;&#50557; ID &#44032; &#54268;&#51032; hidden &#50836;&#49548;&#47196; &#45336;&#44200;&#51276;&#45796;&#47732;, &#54596;&#46300; (&#47564;&#51068; html &#54764;&#54140;&#47484; &#49324;&#50857;&#54616;&#44256; &#51080;&#45796;&#47732;) &#51032; &#45348;&#51060;&#48141;&#51012; &#54616;&#44256; &#49910;&#51012; &#49688; &#51080;&#45796;. &#44536;&#47084;&#47732; &#51201;&#51208;&#54620; &#44275;&#50640; &#45796;&#51020;&#44284; &#44057;&#51060; &#45336;&#44200;&#51652; &#45936;&#51060;&#53552;&#47484; &#45347;&#51004;&#47732; &#45149;&#51060;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;&#47564;&#50557; Post &#51032; ID &#44032; $post['Post']['id'] &#50640; &#51080;&#45796;&#47732;...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php echo $html-&amp;gt;hidden('Comment/post_id', array('value' =&amp;gt; $post['Post']['id'])); ?&amp;gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51060;&#47111;&#44172; &#46104;&#47732;, &#48512;&#47784; Post &#47784;&#45944;&#51032; ID &#45716; $this-&amp;gt;data['Comment']['post_id'] &#47196; &#51217;&#44540;&#54624; &#49688; &#51080;&#44256;, &#44036;&#45800;&#54620; $this-&amp;gt;Post-&amp;gt;Comment-&amp;gt;save($this-&amp;gt;data) &#51032; &#54840;&#52636; &#51456;&#48708;&#44032; &#50756;&#51204;&#55176; &#45149;&#45212;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51060;&#44057;&#51008; &#44592;&#48376;&#51201;&#51064; &#53580;&#53356;&#45769;&#51008; &#45796;&#49688;&#51032; &#51088;&#49885; &#47784;&#45944;&#51012; &#51200;&#51109;&#54624;&#46412;, &#45800;&#51648; &#47336;&#54532; (&#46608;&#54620; Model::create() &#47484; &#49324;&#50857;&#54616;&#45716; &#47784;&#45944;&#51221;&#48372;&#47484; &#50508;&#44256; &#51080;&#51012; &#44163;&#51012; &#44592;&#50613;&#54616;&#46020;&#47197; &#54620;&#45796;) &#45236;&#51032; save() &#51032; &#54840;&#52636;&#51012; &#45347;&#45716; &#44163;&#47564;&#51004;&#47196; &#51089;&#46041;&#54624;&#44163;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#50836;&#50557;&#54616;&#47732;, &#47564;&#51068; &#44288;&#47144;&#46108; &#45936;&#51060;&#53552;&#47484; &#51200;&#51109;&#54616;&#44256; &#51080;&#45796;&#47732; (belongsTo, hasOne, hasMany &#44288;&#47144;), &#50836;&#51216;&#51008; &#48512;&#47784; &#47784;&#45944;&#51032; ID &#47484; &#50619;&#45716; &#44163;&#44284; &#44536; ID &#47484; &#51088;&#49885; &#47784;&#45944;&#50640; &#51200;&#51109;&#54616;&#45716; &#44163;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h5&gt;6.4.7. hasAndBelongsToMany &#51032; &#51200;&#51109;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365949#toc_16" class="anchor" title="toc_16" id="toc_16" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h5&gt;
&lt;p&gt;hasOne, belongsTo, hasMany &#47196; &#50672;&#44288;&#46104;&#45716; &#47784;&#45944;&#51012; &#51200;&#51109;&#54616;&#45716; &#44163;&#51008; &#45824;&#45800;&#55176; &#44036;&#45800;&#54616;&#45796;. &#44288;&#47144;&#46104;&#45716; &#47784;&#45944;&#51032; ID &#50752;, &#50808;&#48512; &#53412;&#51032; &#54596;&#46300;&#47484; &#49444;&#51221;&#54616;&#47732; &#46108;&#45796;. &#44536; &#54980; &#47784;&#45944;&#51032; save() &#47700;&#49548;&#46300;&#47484; &#54840;&#52636;&#54616;&#47732;,&amp;nbsp;&#50672;&#44208;&#46108; &#47784;&#46304; &#44163;&#46308;&#51060; &#48148;&#47476;&#44172; &#51312;&#54633;&#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;hasAndBelongsToMany &#45716; &#51328;&#45908; &#47561;&#50672;&#54616;&#51648;&#47564;, &#44032;&#45733;&#54620; &#44036;&#45800;&#54616;&#44172; &#54644; &#48372;&#51088;. &#50696;&#47484; &#48372;&#45716; &#46041;&#50504;, Tags &#45716; Posts &#50640; &#50672;&#44288;&#46104;&#50612; &#51080;&#45716; &#54268;&#51012; &#51089;&#49457;&#54624; &#54596;&#50836;&#44032; &#51080;&#45796;. posts &#47484; &#51089;&#49457;&#54616;&#45716; &#54268;&#51012; &#51089;&#49457;&#54616;&#44256;, &#51060;&#48120; &#51080;&#45716; Tags &#51032; &#47785;&#47197;&#44284; &#50672;&#44288;&#49884;&#53020; &#48376;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#49892;&#51228;&#47196;&#45716; &#49352;&#47196;&#50868; &#53468;&#44536;&#47484; &#51089;&#49457;&#54616;&#44256; &#44536; &#51088;&#47532;&#50640;&#49436; &#54252;&#49828;&#53944;&#50752; &#50672;&#44288;&#51667;&#44172; &#54616;&#44256; &#49910;&#51012;&#51648;&#46020; &#47784;&#47480;&#45796;. &#44536;&#47084;&#45208; &#51060;&#48264;&#50640;&#45716; &#44036;&#45800;&#54616;&#44172; &#54616;&#44592;&#50948;&#54644;, &#50612;&#46523;&#44172; &#50672;&#44288; &#51667;&#44256; &#48520;&#47196;&#45236;&#45716; &#51648; &#51221;&#46020;&#47564; &#45208;&#53440;&#45240;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Cake &#50640;&#49436; &#51088;&#49888;&#51032; &#47784;&#45944;&#51012; &#51200;&#51109;&#54616;&#44256; &#49910;&#51008; &#44221;&#50864;, (HtmlHelper &#47484; &#49324;&#50857;&#54616;&#44256; &#51080;&#51004;&#47728;) &#53468;&#44536;&#47749;&#51008; '&#47784;&#45944;/&#54596;&#46300;_&#51060;&#47492;' &#44284; &#44057;&#51060; &#46108;&#45796;. &#54252;&#49828;&#53944;&#47484; &#51089;&#49457;&#54616;&#45716; &#54268;&#51012; &#50864;&#49440; &#47564;&#46304;&#45796;:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&#50696; 6.9.&amp;nbsp;posts &#51089;&#49457;&#51012; &#50948;&#54620; /app/views/posts/add.thtml &#54805;&#49885;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;&lt;span&gt;&amp;lt;h1&amp;gt;Write a New Post&amp;lt;/h1&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;lt;table&amp;gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;lt;tr&amp;gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;td&amp;gt;Title:&amp;lt;/td&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;td&amp;gt;&amp;lt;?php echo $html-&amp;gt;input('Post/title')?&amp;gt;&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/tr&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;lt;tr&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;td&amp;gt;Body:&amp;lt;td&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;td&amp;gt;&amp;lt;?php echo $html-&amp;gt;textarea('Post/body')?&amp;gt;&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/tr&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;lt;tr&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;td colspan="2"&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;?php echo $html-&amp;gt;hidden('Post/user_id', array('value'=&amp;gt;$this-&amp;gt;controller-&amp;gt;Session-&amp;gt;read('User.id')))?&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;?php echo $html-&amp;gt;hidden('Post/status' , array('value'=&amp;gt;'0'))?&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;?php echo $html-&amp;gt;submit('Save Post')?&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/td&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/tr&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;lt;/table&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&#51060; &#54268;&#51008; Post &#47112;&#53076;&#46300;&#47484; &#51089;&#49457;&#54624; &#49688; &#51080;&#44172; &#54620;&#45796;. &#51060;&#48264;&#50640;&#45716;&amp;nbsp;&#54616;&#45208; &#51060;&#49345;&#51032; &#53468;&#44536;&#47484; Post &#50640; &#51648;&#49549;&#49884;&#53420; &#49688; &#51080;&#44172; &#54620;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&#50696;&amp;nbsp;6.10.&amp;nbsp;/app/views/posts/add.thtml (tag &#50672;&#44288; &#53076;&#46300;&#47484; &#52628;&#44032;)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;&lt;span&gt;&amp;lt;h1&amp;gt;Write a New Post&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;td&amp;gt;Title:&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;td&amp;gt;&amp;lt;?php echo $html-&amp;gt;input('Post/title')?&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;td&amp;gt;Body:&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;td&amp;gt;&amp;lt;?php echo $html-&amp;gt;textarea('Post/body')?&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;td&amp;gt;Related Tags:&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;td&amp;gt;&amp;lt;?php echo $html-&amp;gt;selectTag('Tag/Tag', $tags, null, array('multiple' =&amp;gt; 'multiple')) ?&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;td colspan="2"&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;?php echo $html-&amp;gt;hidden('Post/user_id', array('value'=&amp;gt;$this-&amp;gt;controller-&amp;gt;Session-&amp;gt;read('User.id')))?&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;?php echo $html-&amp;gt;hidden('Post/status' , array('value'=&amp;gt;'0'))?&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;?php echo $html-&amp;gt;submit('Save Post')?&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#49352;&#47196;&#50868; Post &#50752; &#44172;&#45796;&#44032; &#44288;&#47144;&#46108; Tags &#47484; &#51200;&#51109;&#54616;&#44592; &#50948;&#54644; &#52968;&#53944;&#47204;&#47084;&#50640; $this-&amp;gt;Post-&amp;gt;save() &#47484; &#54840;&#52636;&#54616;&#47140;&#47732;, &#54596;&#46300;&#47749;&#51060; &#54268;&#51032; "Tag/Tag" &#45236;&#50640; &#50630;&#50612;&#49440; &#50504;&#46108;&#45796;. &#51204;&#49569;&#54616;&#45716; &#45936;&#51060;&#53552;&#51032; &#53440;&#51077;&#51060; &#45800;&#51068;&#51032; ID &#45208;, &#47553;&#53356;&#54620; &#47112;&#53076;&#46300;&#51032; ID &#51032; &#48176;&#50676;&#51060;&#50612;&#50556; &#54620;&#45796;. &#50668;&#44592;&#50640;&#45716; multiple select &#47484; &#49324;&#50857;&#54620; &#44163;&#51060;&#44256;, Tag/Tag &#50640; &#51204;&#49569;&#46104;&#45716; &#45936;&#51060;&#53440;&#45716; ID &#51032; &#48176;&#50676;&#51060; &#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h5&gt;6.4.8. &#50528;&#54540;&#47532;&#51060;&#49496; &#51089;&#46041;&#51473; bindModel() &#44284;&amp;nbsp;unbindModel() &#51060;&#50857;&#54616;&#50668; &#44288;&#47144; &#48320;&#44221;&#54616;&#44592;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365949#toc_17" class="anchor" title="toc_17" id="toc_17" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h5&gt;
&lt;p&gt;&#50528;&#54540;&#47532;&#52992;&#51060;&#49496;&#51012; &#44396;&#52629;&#54624; &#46412;&amp;nbsp;&#51060;&#46384;&#44552;&amp;nbsp;&#50696;&#50808;&#51201;&#51064;&amp;nbsp;&#49345;&#54889;&#51012; &#50948;&#54644; &#47784;&#45944;&#51032; &#44288;&#47144;&#51012; &#48320;&#44221;&#54616;&#44256; &#49910;&#51012; &#49688; &#51080;&#45796;. &#47784;&#45944; &#54028;&#51068;&#51032; &#44288;&#47144; &#49444;&#51221;&#51060; &#45320;&#47924; &#47566;&#51008; (&#46608;&#45716; &#52649;&#48516;&#54616;&#51648; &#50506;&#51008;) &#51221;&#48372;&#47484; &#51452;&#44256; &#51080;&#45796;&#47732;, &#45796;&#51020;&#51032; find &#51089;&#50629;&#51204;, &#47926;&#44592; (bind) &#50752; &#54400;&#44592; (unbind) &#51060;&amp;nbsp;&#46160;&#44060;&#51032; &#47784;&#45944; &#54632;&#49688;&#47484; &#51060;&#50857;&#54624; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#50612;&#46523;&#44172;&amp;nbsp;bindModel() &#44284; unbindModel() &#51060; &#51089;&#46041;&#54616;&#45716;&#51648; &#48372;&#44592; &#50948;&#54644; &#47751;&#44060;&#51032; &#47784;&#45944;&#51012; &#49444;&#51221;&#54644;&#48372;&#51088;. &#45796;&#51020;&#44284; &#44057;&#51060; &#46160;&#44060;&#51032; &#47784;&#45944;&#47196; &#49884;&#51089;&#54624; &#44163;&#51060;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&#50696;&lt;/strong&gt; &lt;strong&gt;6.14.&amp;nbsp;leader.php&amp;nbsp;&#50752; follower.php&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;&amp;lt;?php&lt;br /&gt;
class Leader extends AppModel&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var $name = 'Leader';&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var $hasMany = array(&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Follower' =&amp;gt; array(&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'className' =&amp;gt; 'Follower',&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'order'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; 'Follower.rank'&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class Follower extends AppModel&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var $name = 'Follower';&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51088;,&amp;nbsp;LeadersController, &#50640;&#49436; Leader (&#51648;&#46020;&#51088;) &#47784;&#45944;&#51032; find() &#47700;&#50136;&#46300;&#47484; &#51060;&#50857;&#54616;&#50668; Follower&amp;nbsp;(&#52628;&#51333;&#51088;)&amp;nbsp;&#50752; &#44288;&#47144;&#46108; Leader &#47484; &#48520;&#47084; &#50732; &#49688; &#51080;&#45796;. &#50948;&#50640;&#49436; &#48380; &#49688; &#51080;&#46319;&#51060;, Leader &#47784;&#45944;&#51032; &#51060; &#44288;&#47144; &#48176;&#50676;&#51008; "Leader hasMany Followers" &#47484; &#51221;&#51032;&#54620;&#45796;. &#49884;&#54744;&#49340;&#50500; unbindModel() &#51012; &#51060;&#50857;&#54616;&#50668; &#51060; &#44288;&#47144;&#51012; &#51228;&#44144;&#54644;&#48372;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&#50696;&amp;nbsp;6.15.&amp;nbsp;leaders_controller.php (&#51068;&#48512;)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;function someAction()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; //Leaders &#50752;, &#44288;&#47144;&#46108; Followers&amp;nbsp;&#47484; &#48520;&#47084;&#50728;&#45796;.&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;Leader-&amp;gt;findAll();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; //hasMany &#44288;&#47144;&#51012; &#50630;&#50528;&#48372;&#51088;...&lt;br /&gt;
&amp;nbsp; &amp;nbsp; $this-&amp;gt;Leader-&amp;gt;unbindModel(array('hasMany' =&amp;gt; array('Follower')));&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; //&#51088; find &#54632;&#49688;&#47484; &#51060;&#50857;&#54616;&#47732; Follower &#50630;&#51060; Leader &#47484; &#48520;&#47084;&#50732; &#44163;&#51060;&#45796;.&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;Leader-&amp;gt;findAll();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; //&#51452;&#51032; : unbindModel &#51008; &#50724;&#51649; &#48148;&#47196; &#45796;&#51020;&#51032; find &#54632;&#49688;&#50640;&#47564; &#50976;&#54952;&#54616;&#45796;.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; //&#52628;&#44032;&#51201;&#51064; find &#54632;&#49688; &#54840;&#52636;&#51008; &#49444;&#51221;&#46108; &#44288;&#47144; &#51221;&#48372;&#47484; &#51060;&#50857;&#54616;&#44172;&#46108;&#45796;.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; //&#51060;&#48120; unbindModel() &#54980;&#50640; findAll() &#51012; &#49324;&#50857;&#54616;&#50688;&#44592; &#46412;&#47928;&#50640;,&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Leaders &#50752;, &#44288;&#47144;&#46108; Followers &#47484; &#45796;&#49884; &#48520;&#47084;&#50728;&#45796;...&lt;br /&gt;
&amp;nbsp; &amp;nbsp; $this-&amp;gt;Leader-&amp;gt;findAll();&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;unbindModel() &#54632;&#49688;&#45716; &#45796;&#47480; &#44288;&#47144; &#49444;&#51221;&#44284; &#50976;&#49324;&#54616;&#44172; &#51089;&#46041;&#54620;&#45796; : &#44288;&#47144; &#53440;&#51077;&#51032; &#47784;&#45944; &#53364;&#47000;&#49828; &#45348;&#51076;&#51012; &#48148;&#44988;&#45796;. unbindModel() &#51032; &#44592;&#48376;&#51201; &#49324;&#50857;&#50696;&#45716; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&#50696; 6.16.&amp;nbsp;&#51068;&#48152;&#51201;&#51064; unbindModel() &#50696;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;$this-&amp;gt;Model-&amp;gt;unbindModel(array('associationType' =&amp;gt; array('associatedModelClassName')));&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51088; &#51060;&#51228; &#50528;&#54540;&#47532;&#52992;&#51060;&#49496; &#51089;&#46041;&#51473;&#50640; &#49457;&#44277;&#51201;&#51004;&#47196; &#44288;&#47144;&#51012; &#51228;&#44144;&#54664;&#45796;. &#51060;&#51232; &#52628;&#44032;&#47484; &#54644;&#48372;&#51088;.&amp;nbsp;&#50500;&#51649; '&#51452;&#51032; (Principle)' &#44032; &#50630;&#45716; &#51648;&#46020;&#51088; (Leader) &#45716; &#50612;&#46500; '&#51452;&#51032;'&#50752; &#44288;&#47144;&#46112; &#54596;&#50836;&#44032; &#51080;&#45796;. Principle &#47784;&#45944; &#54028;&#51068;&#51008; var $name &#44396;&#47928;&#51012; &#51228;&#50808;&#54616;&#44256; &#53573; &#48708;&#50612; &#51080;&#45796;. &#50528;&#54540;&#47532;&#52992;&#51060;&#49496; &#51089;&#46041;&#51473;&#50640; Leader &#50640; &#50612;&#46500; Principle &#51012; &#44288;&#47144;&#51648;&#50612; &#48372;&#51088; (&#50724;&#51649; &#45796;&#51020; find &#54632;&#49688; &#54840;&#52636;&#51012; &#50948;&#54644;&#49436;&#45796;) :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&#50696; 6.17.&amp;nbsp;leaders_controller.php (&#51068;&#48512;)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;funciton anotherAction()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; //leader.php &#47784;&#45944; &#54028;&#51068;&#50640;&#45716; Leader &#50640;&amp;nbsp;Principle &#51060;&amp;nbsp;hasMany &#46104;&#50612; &#51080;&#51648; &#50506;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; //find &#54616;&#47732; Leader &#47564;&#51012; &#48520;&#47084;&#50728;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;Leader-&amp;gt;findAll();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; //bindModel() &#47484; &#49324;&#50857;&#54616;&#50668;&amp;nbsp;Principle &#50640; &#49352;&#47196;&#50868; &#44288;&#47144;&#51012; &#52628;&#44032;&#54616;&#51088; :&lt;br /&gt;
&amp;nbsp; &amp;nbsp; $this-&amp;gt;Leader-&amp;gt;bindModel(&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; array('hasMany' =&amp;gt; array(&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'Principle' =&amp;gt; array(&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'className' =&amp;gt; 'Principle'&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
&amp;nbsp; &amp;nbsp; );&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; //&#51088; &#51060;&#51228; &#51221;&#54869;&#54616;&#44172; &#44288;&#47144;&#51648;&#50612; &#51276;&#45796;.&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&#54616;&#45208;&#51032; find &#54632;&#49688;&#47484; &#49324;&#50857;&#54616;&#50668; Principle &#44284; &#44288;&#47144;&#51648;&#50612;&#51652;&amp;nbsp;Leader &#47484; &#48520;&#47084; &#50732; &#49688; &#51080;&#45796;:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; $this-&amp;gt;Leader-&amp;gt;findAll();&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;bindModel() &#54632;&#49688;&#45716; &#49352;&#47196;&#50868; &#44288;&#47144;&#51012; &#47564;&#46308;&#44592; &#50948;&#54644; &#51312;&#51089;&#46108;&#45796;. &#54616;&#51648;&#47564; &#50528;&#54540;&#47532;&#52992;&#51060;&#49496; &#51089;&#46041;&#51473;&#50640; &#49444;&#51221;&#46108; &#44288;&#47144; &#51221;&#48372;&#51032; &#51221;&#47148; &#51221;&#48372; &#46608;&#45716; &#45796;&#47480; &#54028;&#46972;&#48120;&#53552;&#47484; &#48320;&#44221;&#54624; &#46412; &#50976;&#50857;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#51088; &#54644;&#48372;&#51088;.&amp;nbsp;bindModel&amp;nbsp; &#51032; &#44592;&#48376;&#51201;&#51064; &#49324;&#50857;&#50696;&#45716; &#51068;&#48152;&#51201;&#51064; &#44288;&#47144; &#48176;&#50676; &#45236;&#48512;&#51032; &#48176;&#50676; (&#47564;&#46308;&#44256;&#51088; &#54616;&#45716; &#48176;&#50676;&#51032; &#53440;&#51077; &#46244;&#50640; &#51648;&#51221;&#46108; &#53412; &#44050;) &#51012; &#52897;&#49808;&#54868;&#54616;&#45716; &#44163;&#51060;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&#50696;&amp;nbsp;&lt;/strong&gt; &lt;strong&gt;6.18.&amp;nbsp;&#51068;&#48152;&#51201;&#51064; bindModel() &#50696;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;$this-&amp;gt;Model-&amp;gt;bindModel(&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; array('associationName' =&amp;gt; array(&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'associatedModelClassName' =&amp;gt; array(&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // &#51068;&#48152;&#51201;&#51064; &#44288;&#47144; &#53412;&#44050;&#51008; &#50668;&#44592;&#50640;...&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
&amp;nbsp; &amp;nbsp; );&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#50528;&#54540;&#47532;&#52992;&#51060;&#49496; &#51089;&#46041;&#51473;&#50640; &#47784;&#45944;&#51012; bind &#54616;&#47140;&#47732; &#53580;&#51060;&#48660;&#46308;&#51008; &#51221;&#54869;&#54616;&#44172; key &#44032; &#44152;&#47140; &#51080;&#50612;&#50556; &#54620;&#45796; (&#46608;&#45716; &#44288;&#47144; &#48176;&#50676; &#49549;&#49457;&#51032; &#49444;&#51221;) &#45716; &#51216;&#51012; &#51452;&#51032;&#54620;&#45796;.&lt;/p&gt;
</source>
  <rights nil="true"></rights>
  <creator>http://ainoai.myid.net/</creator>
  <contributor_modified>http://ainoai.myid.net/</contributor_modified>
  <version type="integer">256</version>
  <tags>cakephp,&#47784;&#45944;,model,association,hasone,belongsto,hasmany,hasandbelongstomany,&#44288;&#47144;</tags>
</page>
