Laravel 递增一个多态关系列
Laravel increment a polymorphic relationship column
我目前有一个像这样设置的侦听器,它会在控制器提供页面时触发一个事件:
public function handle(BarPageWasViewed $event)
{
// increment the pageview for this particular bar whenever the event fires
$event->bar->views()->create(['views' => 1]);
}
这会插入一个多态关系并将相应的视图列设置为 1。
现在只要这种关系已经存在,我只想增加视图。我该怎么做呢?我传递的 $event 只是当前正在查看的 'bar' 模型。
解决了,对于任何正在处理相同问题的人:
public function handle(BarPageWasViewed $event)
{
if(count($event->bar->views) === 0) {
$event->bar->views()->create(['views' => 1]);
} else {
$event->bar->views()->increment('views');
}
}
我目前有一个像这样设置的侦听器,它会在控制器提供页面时触发一个事件:
public function handle(BarPageWasViewed $event)
{
// increment the pageview for this particular bar whenever the event fires
$event->bar->views()->create(['views' => 1]);
}
这会插入一个多态关系并将相应的视图列设置为 1。
现在只要这种关系已经存在,我只想增加视图。我该怎么做呢?我传递的 $event 只是当前正在查看的 'bar' 模型。
解决了,对于任何正在处理相同问题的人:
public function handle(BarPageWasViewed $event)
{
if(count($event->bar->views) === 0) {
$event->bar->views()->create(['views' => 1]);
} else {
$event->bar->views()->increment('views');
}
}