Я хотел бы создать кнопку, которую можно использовать для заполнения таблицы в моей базе данных одним щелчком мыши.
Я просто не уверен, что мне нужно сделать здесь, чтобы это произошло.Могу ли я назначить метод для выполнения кнопкой?Или просто есть значения в моем контроллере?Ниже приведено что-то вроде того, что я хочу выполнить, но через кнопку.
public function addInterest($interest)
{
$interest->UserId=Yii::app()->user->id;
$interest->ItemId=$this->ItemId;
return $interest->save();
}
** Дополнительные подробности в ответ на Jaison Justus
В этой реализации я используюконтроллер и вид из модели A (ItemId), где должна отображаться кнопка.Тогда есть Модель B (UserId).Взяв информацию из моделей A (ItemId) и Model B (UserId), я хочу заполнить Model C ($ интереса) этими ItemId и UserId при нажатии кнопки.Похоже, CJuiButton может предоставить средство для его создания, так как тогда я могу отключить / скрыть кнопку после выбора один раз.Я просто не знаком с использованием кнопок, отличных от формы, где пользовательский ввод собирается в виде ссылок или для предоставления всплывающих сообщений.
Код выше в настоящее время находится в модели модели А.С кодом ниже в контроллере модели A все работает, чтобы заполнить модель C, если я использую форму и собираю информацию.Так как я не требую никакого ввода, кроме выбора кнопки от пользователя, форме нечего в нее вставить, и поэтому я знаю, что не могу использовать if(isset($_POST['Interest']))
, как у меня ниже.
public function actionView($id) {
$items=$this->loadModel($id);
$interest=$this->newInterest($items);
$this->render('view', array(
'model' => $items,
'interest' => $interest,
));
}
protected function newInterest($items)
{
$interest=new Interest;
if(isset($_POST['Interest']))
{
$interest->attributes=$_POST['interest'];
if($items->addInterest($interest))
$this->refresh();
}
return $interest;
}
В ответ на VarioN
Вот попытка использования ajax.Однако это не работает и выдает ошибку 500 при запуске.Подходит ли действие моего контроллера для того, что я пытаюсь сделать здесь?
Контроллер
public function actionAddInterest() {
$connection = yii::app()->db;
$sql1 = "INSERT INTO interest (UserId, ItemId)
VALUES(".Yii::app()->user->id.",".$this->ItemId.")";
$connection->createCommand($sql1)->execute();
}
Просмотр
<?php
echo CHtml::ajaxLink(
'Add Interest',
array('/item/addInterest'),
array('update'=>'#req_res')
);
?>