3
ORMがKohanaで動作するように検証しようとしています。3.2。Kohana ORMと検証、問題がある
現時点では私は私のモデルを持っている:
<?php defined('SYSPATH') or die('No direct access allowed.');
class Model_Brand extends ORM {
protected $_has_many = array('models' => array());
protected $_rules = array(
'name' => array(
'not_empty' => NULL,
'min_length' => array(3),
'max_length' => array(20),
),
'sku' => array(
'not_empty' => NULL,
'min_length' => array(3),
'max_length' => array(6),
),
);
}
そしてHERESに私のコントローラ:
<?php defined('SYSPATH') or die('No direct script access.');
class Controller_Brand extends Controller_Layout {
public function action_view()
{
$brands = ORM::factory('brand')->find_all();
$this->template->title = __('Brands');
$this->template->content = View::factory('brands/view');
$this->template->content->set('brands', $brands);
}
public function action_edit()
{
if($_POST)
{
try
{
$brand = ORM::factory('brand', $this->request->param('id'));
$brand->values($_POST);
if($brand->check())
{
$brand->update();
$brand->save();
//go to brand/views
}
}
catch (ORM_Validation_Exception $e)
{
//pass errors to brand/edit
}
}
else
{
$brand = ORM::factory('brand', $this->request->param('id'));
$this->template->title = __('Edit Brand');
$this->template->content = View::factory('brands/edit');
$this->template->content->set('brand', $brand);
}
}
}
私もまだエラーの一部を持っていません。私が抱えている問題は、入力から検証し、モデルのルールを使用しないことです。また、誰かが私にこのような更新アクションがどのように設計されるべきかを示すことができれば大きな助けになるでしょう。ありがとう。
このような詳細なアンサーに感謝します。まさに私が探していたもの。 – DanielOR