Member 12609693 Ответов: 1

Вызов функции-члена save () на не-объекте с помощью ajax в laravel 5


Я пытаюсь сделать кнопку "Нравится" и "не нравится" с помощью ajax, чтобы сохранить ее в базе данных.
Но иногда он работает, а иногда дает ответ об ошибке на вкладке Сеть inspect, вызов функции-члена save () на не-объекте.

это мое LikeController.php :

<?php
    
    namespace App\Http\Controllers;
    
    use Illuminate\Http\Request;
    use App\Depress;
    use App\Http\Requests;
    
    class LikeController extends Controller
    {
        public function postLike(Request $request)
        {
            $post_id = $request->input('postId');
            //dd($post_id);
            $post = Depress::find($post_id);
            $post['like'] = $post['like'] + 1;
            $post->save();
            return null;
        }
    
        public function postDislike(Request $request)
        {
            $post_id = $request->input('postId');
            $post = Depress::find($post_id);
            $post['dislike'] = $post['dislike'] + 1;
            $post->save();
            return null;
        }
    }


Проблема, похоже, в том, что

$post->save();


Но я не знаю, в чем проблема.

Кто-нибудь, пожалуйста, придите на помощь, я застрял здесь уже 2 дня.

<pre lang="PHP">


Что я уже пробовал:

Я попробовал DD ($post), и это, кажется, дает правильное значение.

Sergey Alexandrovich Kryukov

Используйте отладчик и / или ведение журнала. Это может быть неопределенный объект или что-то еще. Для получения дополнительной информации проверьте typeof на этом объекте.
—СА

1 Ответов

Рейтинг:
0

Prava-MFS

Я не думаю, что этот код имеет какие-либо проблемы.

$post = Depress::find($post_id);
$post['like'] = $post['like'] + 1;
$post->save();


Это должно работать определенно, только если $post_id имеет правильное значение (то, которое он представляет в БД).

Что я уже пробовал
Я действительно проверил вышеизложенное и обнаружил эту ошибку Вызов функции-члена save () на не-объекте когда $post_id содержит идентификатор (1000), которого нет в БД.

Пожалуйста, проверьте то же самое (проверьте, существует ли id в БД или нет), и если вы все еще сталкиваетесь с той же проблемой, пожалуйста, введите $post_id в целое число, а затем проверьте его.

Надеюсь, это вам поможет.