当前位置: 首页 > 知识库问答 >
问题:

Larvel:Relationship方法必须返回Illumb\Database\Eloquent\Relations\Relationship类型的对象

段渊
2023-03-14

我有3个DB表,我没有在其中任何一个表上添加任何关系。然后我编写了以下代码:

public function store($key)
{
    $user_key = md5(Input::get('email') . "-" . strtotime('now'));

    $user = new User;

    $user->name = Input::get('name');
    $user->email = Input::get('email');
    $user->user_key = $user_key;
    $user->password = Hash::make(Input::get('password'));
    $user->apipass = md5(Input::get('password'));
    $user->save();

    $newUid = $user->id;

    //check key for share
    $invited = DB::table('invites')->where('invite_key', Input::get('invite_key'))->where('status', '0')->count();

    if($invited == 1) {
        $inviter_id = DB::table('invites')->where('invite_key', Input::get('invite_key'))->where('status', '0')->pluck('user_id');
        $read_only = DB::table('invites')->where('invite_key', Input::get('invite_key'))->where('status', '0')->pluck('read_only');

        $share = new RecordShare;

        $share->user_id = $inviter_id;
        $share->shared_with_id = $newUid;
        $share->read_only = $read_only;
        $share->save;

    }

    return Redirect::to('login');
}

它应该创建一个新用户,然后查看谁邀请了他,然后与邀请者创建一个共享记录。

但是当我html" target="_blank">测试它时,我得到了一个错误:

逻辑异常

关系方法必须返回类型为照明\数据库\雄辩\关系\关系的对象

打开:/home/oneinfin/public\u html/diasis/vendor/laravel/framework/src/illumb/Database/elounce/Model。php

    */
protected function getRelationshipFromMethod($key, $camelKey)
{
$relations = $this->$camelKey();
if ( ! $relations instanceof Relation)
{
throw new LogicException('Relationship method must return an object of type '
. 'Illuminate\Database\Eloquent\Relations\Relation');
}

我认为我的数据有问题,所以试图创建一个空记录

        $share = new RecordShare;
        $share->save;

但这也失败了,出现了同样的错误。只有完全删除此部分,函数才能通过。

有什么不对劲吗?我试图清除缓存,但仍然不起作用。

共有1个答案

漆雕昊天
2023-03-14

我想改变

$share->save;

$share->save();
 类似资料:
  • 我正在尝试返回属于文件路由中相同案例的多个会话。php: 控制器:: SessionController.php: 模型类:: LawSession.php: 模型类:: LawCase.php: 我得到了这个错误: 关系方法必须返回类型为照明\数据库\雄辩\关系\关系的对象

  • 嗨,下面是我的亲戚 用户模型 这是我的LoginLogs模型 我试图访问名称从用户这样 但我得到了这个错误 未定义的属性:照亮\数据库\雄辩\关系\属于::$name 编辑添加模型 现在是LoginLogout模型

  • 我正在使用Laravel 5.8,在这个项目中,我想从数据库中的一个表中删除一些数据,所以我在Blade上对其进行了编码: 这是路线: 这是WalletController的控制器销毁方法: 但是一旦我运行这个,我就会收到这个错误消息: 方法照亮\数据库\雄辩\集合::de不存在。 那么这里出了什么问题?我如何解决这个问题?

  • 为了方便起见,我将setter方法返回类型更改为对象,例如: 但在tomcat做出这一改变之后 PropertyNotFoundException: 为了消除这个异常,我将修饰符从private更改为public,但仍然得到相同的错误。所以我有两个问题; null

  • 问题内容: 它返回此错误:此方法必须返回boolean类型的结果。我究竟做错了什么? 问题答案: 现在,不能保证该函数返回a ,因为很可能不会输入任何一条语句。 您可以像这样修复它(但 只有 在您的逻辑确实需要它的情况下 才 这样做):

  • 我无法将结果附加到查询中。我正在使用页面上的类别筛选结果,并尝试添加分页。当用户单击类别时,只应显示与类别相关的产品,在分页时,我希望保留所选类别。我得到了这个错误: Facade\Ignition\Exceptions\ViewException调用未定义的方法Illumb\Database\Eloquent\Builder::appends()(视图:D:\Xampp\htdocs\Proje