【问题标题】:ErrorException: Trying to get property 'id' of non-object --Laravel unit testErrorException:试图获取非对象的属性“id”--Laravel 单元测试
【发布时间】:2021-05-20 02:48:47
【问题描述】:

最近我正在使用 Laravel 和 vue.js 开发一个项目“facebook-clone”。我第一次使用单元测试。 测试后发现这个错误,

错误:“ErrorException:尝试获取非对象的属性 'id'”

为了发送好友请求,我写了这个

test.a_user_can_send_a_friend_request

我在用户模型中使用多对多关系。

用户模型中的多对多关系

这是数据透视表朋友

API 路由:

api.php

使用的控制器:

朋友请求控制器

使用的资源:

朋友

【问题讨论】:

    标签: unit-testing phpunit laravel-6.2 laravel-unit-test


    【解决方案1】:

    问题解决了,我在FriendRequestController中犯了一个错误,我应该在Friendesource中传递一个参数,而不是我错误地传递了一个数组。

    有错误:

    return new FriendResource([
            Friend::where('user_id', auth()->user()
            ->id)->where('friend_id', $data['friend_id'])
            ->first()
        ]);
    

    修复错误后:

    return new FriendResource(
            Friend::where('user_id', auth()->user()
            ->id)->where('friend_id', $data['friend_id'])
            ->first()
        );
    

    【讨论】:

      猜你喜欢
      • 2019-03-10
      • 2017-08-02
      • 2018-04-14
      • 1970-01-01
      • 1970-01-01
      • 2020-09-30
      • 1970-01-01
      • 1970-01-01
      • 2021-07-19
      相关资源
      最近更新 更多