Доброго дня, подскажите как реализовать функцию голосования за отзывы. У каждого отзыва есть кнопки плюс и минус, в БД в таблице с отзывами также 2 столбца плюсы и минусы.
Отзыв добавляется следующим компонентом:
use Cms\Classes\ComponentBase;
use Input;
use Flash;
use Validator;
use Redirect;
use Anton\Bracelets\Models\Review;
class ReviewAdd extends ComponentBase
{
public function componentDetails()
{
return [
'name' => 'Review Component',
'description' => 'No description provided yet...'
];
}
public function defineProperties()
{
return [];
}
public function onSave()
{
$review = new Review();
$review->user_name = Input::get('name');
$review->bracelet_id = Input::get('thread');
$review->user_text = Input::get('text');
$review->user_rating = Input::get('rating1');
$review->save();
}
}
Вывод всех отзывов:
use Cms\Classes\ComponentBase;
class ReviewsView extends ComponentBase
{
public function componentDetails()
{
return [
'name' => 'ReviewsView Component',
'description' => 'No description provided yet...'
];
}
//
// Properties
//
public function defineProperties()
{
return [
'reviews' => [
'title' => 'Количество',
'description' => 'Определяет количество комментариев на одной странице',
'default' => '10',
],
];
}
//
// Rendering and processing
//
public function onRun()
{
$this->page['reviews'] = \Anton\Bracelets\Models\Review::paginate($this->property('reviews'));
}
}
Я так понял нужно создать функцию public function onPlus()
и в ней прописать логику, только куда ее добавлять?