kohana, не могу загрузить orm модель
У меня проблема с сохранением данных в базе данных в Kohana с использованием ORM. Я не эксперт, но я сделал более сложные вещи, чем это. Я предполагаю, что отсутствие основ приводит к этому.
Я добавлю модель, форму и код действия контроллера ниже. Если что-то еще нужно, вы можете спросить. пс. Это мой первый пост, поэтому я надеюсь, что правила не нарушены.
модель:
class Model_Polloptionvote extends ORM {
protected $_table_name = "poll_option_votes";
protected $_primary_key = "id";
protected $_belongs_to = array(
'option' => array(
'model' => 'polloption'
)
);
protected $_table_columns = array(
'id' => array('type' => 'int'),
'option_id' => array('type' => 'int'),
'cookie' => array('type' => 'string')
);
}
Форма вызова действия:
<form action="<?php echo Route::url("home", array(
"controller" => "polls",
"action" => "vote"
)); ?>" method="POST">
<?php
if(isset($optionmodel)) {
foreach ($optionmodel as $option) { ?>
<label><?php
echo Form::radio('option_id', $option->id, FALSE);
echo $option->name; ?> </label> <?php
echo "</br>";
}
} ?>
</br>
<input type="submit" name="submit" id="submit" value="<?php echo __("Vote"); ?>" />
</form>
действие контроллера опроса:
<?php defined('SYSPATH') or die('No direct script access.');
class Controller_Polls extends Controller_Base {
public function action_vote() {
$votemodel = ORM::factory("polloptionvote");
$id = $this->request->post("option_id");
if ($id != "") {
$optionmodel = ORM::factory("polloption", $id);
if ($votemodel->loaded()) {
$votemodel->option_id = $id;
$votemodel->cookie = "cookie";
$votemodel->save();
}
$this->request->redirect(Route::url("home", array(
"controller" => "index"
)));
}
Вид загружается нормально, но кажется, что $votemodel->loaded()
всегда ложно. Если изменить это условие на 1==1
Я получаю ошибку. Вероятно, потому что действие не знает, что сохранить где.
ОБНОВЛЕНИЕ ПОСЛЕ СМОТРЕТЬ error.log:
журнал ошибок: PHP Неустранимая ошибка: вызов функции-члена route() для необъекта в /home/mywebsite/public_html/new/application/views/kohana/error.php в строке 144
<?php if (Model_Korisnik::current() !== null) : ?>
<ul>
<li>Korisnik/ca: <span><?php echo Model_Korisnik::current()->username; ?></span></li>
<li class="profile"><a href="<?php echo Route::url("viewUser", array(
"ignore" => Model_Korisnik::current()->username,
"id" => Model_Korisnik::current()->id
)); ?>" title="<?php echo __("Profile"); ?>"><?php echo __("Profile"); ?></a></li>
<li class="settings"><a href="<?php echo Route::url("settingsURL"); ?>" title="<?php echo __("Settings"); ?>"><?php echo __("Settings"); ?></a></li>
<li class="logout"><a href="<?php echo Route::url("auth", array(
"action" => "logout"
)); ?>?redirect=<?php echo rawurlencode(Request::current()->route()->uri(Request::current()->param()) . URL::query()); ?>" title="<?php echo __("Log out"); ?>"><?php echo __("Log out"); ?></a></li>
</ul>
<?php else : ?>
Последняя строка 146