инкремент функции увеличивается на 2, а не на 1 - PullRequest
1 голос
/ 30 сентября 2019

Каждый раз, когда пользователь нажимает на сообщение, это представление должно увеличиваться на 1. Но вместо 1 оно увеличивается на 2. Есть много страниц, на которых можно нажать на это сообщение.

Я пытался использоватьфункция приращения

 $view = PostAd::where('id',$id)->first();
 $view->increment('viewcount',1);

полный код

 $view = PostAd::find($id);
        $view->increment('viewcount',1);
        $data['ads'] = PostAd::find($id);
        $data['post']= PostAd::with('postimage')->where('id',$id)->get();



        $data['postimage'] = PostAd::with('pimage')->where('id',$id)->get();
        $data['details']= PostAd::with('category')->where('id',$id)->first();
        $data['comments'] = Comment::where('post_id',$id)->get();
        $data['favourite'] = Favourite::where('post_id',$id)->first();
        $data['identify'] = PostAd::with(['category','category.children'])->get();

Ответы [ 2 ]

1 голос
/ 30 сентября 2019

Ответ прост. Используйте это ...

$view->increment('viewcount');

Увеличение на пользовательский счет (COUNT)

$view = PostAd::where('id',$id)->first();
$view->increment('viewcount',COUNT);

Пример: Увеличение на 5

$view->increment('viewcount',5);

Подробнее здесь

0 голосов
/ 30 сентября 2019

Вы можете использовать значение по умолчанию, равное 1.

 $query->increment('viewcount');

Если вам нужно пользовательское приращение, используйте

 $query->increment('viewcount',increment_value);

ИЛИ

PostAd::where('id', $id)
->update('viewcount' => DB::raw('viewcount + 1'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...