Разбираюсь с fat-free framework вот по этой статье
www.w3programmers.com/crud-with-fat-free-framework
Пытаюсь воспроизвести пример с небольшими изменениями, не работает сохранение из формы в БД.
при POST-запросе (добавлении или изменении) возвращается опять на экран с формой без всяких ошибок. Полностью все исходники не выкладываю, основное.
Модель
<?php
class News extends DB\SQL\Mapper {
public function __construct(DB\SQL $db)
{
parent::__construct($db,'article');
}
public function all()
{
$this->load();
return $this->query;
}
public function add()
{
$this->copyFrom('POST');
$this->save();
}
public function getById($id)
{
$this->load(array('id=?',$id));
$this->copyTo('POST');
}
public function edit($id)
{
$this->load(array('id=?',$id));
$this->copyFrom('POST');
$this->update();
}
public function delete($id)
{
$this->load(array('id=?',$id));
$this->erase();
}
}
контроллер
public function create()
{
if($this->f3->exists('POST.create'))
{
$news = new News($this->db);
$news->add();
$this->f3->reroute('/edit');
} else
{
$this->f3->set('view','news/create.html');
}
}
public function update()
{
$news = new News($this->db);
if($this->f3->exists('POST.update'))
{
$news->edit($this->f3->get('POST.id'));
$this->f3->reroute('/edit');
} else
{
$news->getById($this->f3->get('PARAMS.id'));
$this->f3->set('article',$news);
$this->f3->set('view','news/update.html');
}
}
форма update.html
form action="{{ @BASE.'/update' }}" method="post">
<input id="newsTitle" name="newsTitle" type="text" value="{{ @POST.newsTitle }}" >
<input id="newsDate" name="newsDate" type="text" value="{{ @POST.newsDate }}" >
<textarea rows = "5" name="newsContent">{{ @POST.newsContent }}</textarea>
<button type="submit" class="btn btn-primary">Добавить</button>
</form>