Ad
Laravel Increment A Polymorphic Relationship Column
I currently have a listener set up like this that fires an event whenever a page is being served from a controller:
public function handle(BarPageWasViewed $event)
{
// increment the pageview for this particular bar whenever the event fires
$event->bar->views()->create(['views' => 1]);
}
This inserts a polymorphic relationship and sets the corresponding views column to 1.
Now whenever this relationship already exists I just want to increment the view. How do I go about doing this? The $event i pass is simply the 'bar' model that is currently being viewed.
Ad
Answer
Figured it out, for anyone that is dealing with the same problem:
public function handle(BarPageWasViewed $event)
{
if(count($event->bar->views) === 0) {
$event->bar->views()->create(['views' => 1]);
} else {
$event->bar->views()->increment('views');
}
}
Ad
source: stackoverflow.com
Related Questions
- → "failed to open stream" error when executing "migrate:make"
- → October CMS Plugin Routes.php not registering
- → OctoberCMS Migrate Table
- → OctoberCMS Rain User plugin not working or redirecting
- → October CMS Custom Mail Layout
- → October CMS - How to correctly route
- → October CMS - Conditionally Load a Different Page
- → Make a Laravel collection into angular array (octobercms)
- → In OctoberCMS how do you find the hint path?
- → How to register middlewares in OctoberCMS plugin?
- → Validating fileupload(image Dimensions) in Backend Octobercms
- → OctoberCMS Fileupload completely destroys my backend
- → How do I call the value from another backed page form and use it on a component in OctoberCms
Ad