データベースの値を編集しようとすると、次のエラーが発生します。
Call to a member function values() on a non-object
コントローラ
public function action_options() {
$this->template->styles = array(
'style' => 'style',
'acp' => 'acp'
);
$options = ORM::factory('option')->find_all()->as_array('option_name','option_value');
$this->template->content = View::factory('default/admin/options')
->bind('options', $options);
}
public function action_savesettings() {
$options = ORM::factory('option')->find_all()->as_array('option_name','option_name');
$options->values($this->request->post());
$errors = array();
try {
$options->save();
$this->request->redirect('acp/options');
} catch (ORM_Validation_Exception $ex) {
$errors = $ex->errors('validation');
}
$this->template->content = View::factory('default/admin/options')
->bind('options', $options)
->bind('errors', $errors);
}
意見
<?php $errors = isset($errors) ? $errors : array(); ?>
<?php echo Form::open('acp/savesettings'); ?>
Site Name: <?php echo Form::input('site_name', $options['site_name'], array('id' => 'acp-sitename')); ?><br />
<?php echo Form::submit('submit', 'Submit', array('id' => 'acp-submit')); ?>
<?php echo Form::close(); ?>
私のテーブルは次のようなものです:
option_id option_name option_value
$options[''] を使用して値にアクセスして編集しているため、これにアプローチする方法がわかりません。