У меня проблема с сохранением данных в базе данных, так как вызывается исключение catch. попробуйте всегда проигнорировать. Я не знаю, что происходит. Я работаю над этим часами, и я не могу заставить его работать. Я использую kohana 3.3 и костаче.catch всегда получает вызванное
Итак, вот контроллер.
Контроллер
APPATH/классы/контроллер/album.php Шаблоны
public function action_create()
{
$view = Kostache_Layout::factory();
$layout = new View_Pages_Album_List();
$album = ORM::factory('Album_Information');
$album_name = $this->request->post('inputAlbum');
$artist = $this->request->post('inputArtist');
$album->Album_Name = $album_name;
$album->Artist = $artist;
try
{
$album->save();
HTTP::redirect('album');
}
catch(ORM_Validation_Exception $e)
{
$layout->errors = $e->errors('models');
}
}
$this->response->body($view->render($layout));
}
APPATH/шаблоны/страницы/альбом/list.mustache
<h3>Add A New Album</h3>
<form action="album/create" method="post">
<label for="inputAlbum">Album Name:</label>
<input id="inputAlbum" type="text" name="inputAlbum" /><br />
<label for"inputAlbum" class="error">{{#errors}}{{inputAlbum}}{{/errors}}</label>
<label for="inputArtist">Album Artist:</label>
<input id="inputArtist" type="text" name="inputArtist" /><br />
<label for="inputArtist" class="error">{{#errors}}{{inputArtist}}{{/errors}}</label>
<input type="submit" name="submit" value="Add" />
</form>
Типовые правила
APPATH/классы/модель/альбом/information.php
class Model_Album_Information extends ORM
{
protected $_primary_key = 'ID';
protected $_table_name = 'album_information';
public function rules()
{
return array(
'inputAlbum' => array(
array('not_empty'),
),
'inputArtist' => array(
array('not_empty'),
),
);
}
Сообщения
APPATH/сообщения/модели/album.php
return array(
'inputAlbum' => array(
'not_empty' => ':You must provide Album Name',
),
'inputArtist' => array(
'not_empty' => ':You must provide Album Artist',
),
);
Ошибки показываются, когда нет ввода в поле ввода, когда я нажимаю кнопку отправки, никаких проблем с этим, но даже есть вход, ошибки все еще отображаются. Так что улов всегда называется. Когда я удаляю try и catch, я могу легко сохранить данные в базе данных, но проверки нет.
спасибо и больше сила.
Ну, это исправить. Я сделал то, что вы сказали, и заработал. Спасибо за помощь. – Defyleiti