#18

コントローラーにreserves_controller.phpを追加

<?php
class ReservesController extends AppController
{
	var $name = 'Reserves';
	var $uses = array('User','Seminar','Reserve');

	function delete($uid,$sid){
		print_r ($this->Reserve->delReserve($uid,$sid));
		
		$this->flash(' uid: '.$uid.' sid: '.$sid.' の予約は削除されました。','/users/index/');

//DEBUG: アプリケーションを作る際のデバッグ設定を指定します。0以外の値であれば、Cake は pr( ) と debug
//( ) 関数の呼び出し結果を出力し、 flash メッセージによるページ転送を自動的にストップします。数値を2または
//それ以上の値に設定すると、ページの最後の部分に SQL ステートメントの結果が表示されます。
		
//		$this->redirect('/users/index/');
		
	}
}

?>

モデルにreserve.phpを追加
モデル名と違うテーブルを利用する場合は、$useTableを使うらしい。

<?php
class Reserve extends AppModel
{
	var $name = 'Reserve';
	var $useTable = 'seminars_users';
	var $belongsTo = array('Seminar','User');

	function delReserve($uid,$sid){
		$ret = $this->query("delete FROM seminars_users
		WHERE user_id = $uid and seminar_id=$sid");
		return $ret;
	}
	
}
?>

index.thtml ビュー修正

<div id="my_page">
<h2><?php echo $me['User']['name']; ?></h2>
<div id="contents">
<div id="menu" >
<ul>
<li><a href="/work/yoyaku/users/index">Home</a></li>
<li><a href="/work/yoyaku/seminar/index">Seminar</a></li>
<li><a href="/work/yoyaku/users/diary">Diary</a></li>
<li><a href="/work/yoyaku/users/edit">Settings</a></li>
<li><a href="/work/yoyaku/users/logout/">Logout</a></li>
</ul>
</div><!-- /menu -->


<h3>予約しているセミナー</h3>

<table>
<tr>
	<th>
		name
	</th>
	<th>
		sstart
	</th>
	<th>
		send
	</th>
	<th>
		snumber
	</th>
	<th>
		cost
	</th>
	<th>
		action
	</th>
</tr>
<?php foreach ($me['Seminar'] as $seminar): ?>
<tr>
	<td>
		<?php echo $seminar['name']; ?>
	</td>
	<td>
		<?php echo $seminar['sstart']; ?>
	</td>
	<td>
		<?php echo $seminar['send']; ?>
	</td>
	<td>
		<?php echo $seminar['snumber']; ?>
	</td>
	<td>
		<?php echo $seminar['cost']; ?>
	</td>
	<td>
		<?php echo $html->link(
			'削除',
			"/reserves/delete/{$me['User']['id']}/{$seminar['id']}",
			null,
			'本当に削除しますか'
		)?>
	</td>
</tr>
<?php endforeach; ?>
<table>

</div>

<h3>My Profile</h3>
<div id="my_profile" >
<p><?= $me['User']['profile']; ?></p>
</div>

</div>
</div>


◎実行前

一番上のyogaを削除

うまくいきましたー

※ちなみに、core.phpのDEBUGが0以外だとFlashしてくれないらしい!

この調子でどんどん行きましょう!