ModelのCRUD (4/6)
作成:2016-02-28 08:52
更新:2016-02-28 08:52
更新:2016-02-28 08:52
■Modelの更新
続いて、Update(更新)についてです。LaravelのModelでは、レコードの更新は「save」というメソッドを使って行います。
こんな感じですね。テーブルから更新するModelインスタンスを取得し、その内容を書き換えてからsaveを呼び出せば、レコードを更新できます。
では、これもViewテンプレートから作りましょう。「views」フォルダ内に、「update.php」という名前でファイルを作成して下さい。そして下のリスト欄のように記述しておきましょう。ここではフォームを、
このように用意してあります。つまり、HeloControllerのupdateアクションで処理を行うようにするわけです。フォームには、name="id"の<input type="hidden">を用意し、IDの値を非表示で追加してあります。
ふぉーむのそれぞれの項目には、value="<?php echo $data->id; ?>" というようにvalueの値を設定してあります。Controller側で更新するModelのインスタンスを取得し、$dataに設定してやれば、その内容がフォームに表示されるようにしているわけです。
Modelインスタンス->save();
こんな感じですね。テーブルから更新するModelインスタンスを取得し、その内容を書き換えてからsaveを呼び出せば、レコードを更新できます。
では、これもViewテンプレートから作りましょう。「views」フォルダ内に、「update.php」という名前でファイルを作成して下さい。そして下のリスト欄のように記述しておきましょう。ここではフォームを、
<form method="post" action="/helo/update">
このように用意してあります。つまり、HeloControllerのupdateアクションで処理を行うようにするわけです。フォームには、name="id"の<input type="hidden">を用意し、IDの値を非表示で追加してあります。
ふぉーむのそれぞれの項目には、value="<?php echo $data->id; ?>" というようにvalueの値を設定してあります。Controller側で更新するModelのインスタンスを取得し、$dataに設定してやれば、その内容がフォームに表示されるようにしているわけです。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
<!doctype html> <html> <head> <title>Sample</title> <style> body { color:gray; } h1 { font-size:18pt; font-weight:bold; } th { color:white; background:#999; } td { color:black; background:#eee; padding:5px 10px; } </style> </head> <body> <h1>Sample</h1> <p><?php echo $message; ?></p> <table> <form method="post" action="/helo/update"> <input type="hidden" name="id" value="<?php echo $data->id; ?>"> <tr><td>NAME:</td><td> <input type="text" name="name" value="<?php echo $data->name; ?>"></td></tr> <tr><td>MAIL:</td><td> <input type="text" name="mail" value="<?php echo $data->mail; ?>"></td></tr> <tr><td>AGE:</td><td> <input type="text" name="age" value="<?php echo $data->age; ?>"></td></tr> <tr><td></td><td><input type="submit"></td></tr> </form> </table> </body>
※関連コンテンツ