Laravel - 调用未定义的方法Illuminate\Database\Query\Builder :: user()

Cli*_*een 6 php sqlite laravel

我正在忙于Laravel From Scratch:更新记录和渴望加载.我跟着tut但是在尝试在CardsController中添加用户数据时遇到此错误.我假设我错过了卡片用户关系中的一个步骤,但我已经观看了3次视频,我的用户,卡片和笔记的数据库查询完全匹配视频.

在通过迁移创建Users表之后,我需要执行另一个步骤吗?

错误

BadMethodCallException in Builder.php line 2345:
Run Code Online (Sandbox Code Playgroud)

调用未定义的方法Illuminate\Database\Query\Builder :: user()

CardsController代码

<?php
namespace App\Http\Controllers;
use App\Card;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class CardsController extends Controller
{
    public function index()
    {
        $cards = Card::all();
        return view('cards.index', compact('cards'));
    }

    public function show(Card $card)
    {
        $card = Card::with('notes.user')->get();
        return $card;
        return view('cards.show', compact('card'));
    }
}
Run Code Online (Sandbox Code Playgroud)

Ohg*_*why 11

你的note模型缺乏与之相关的关系定义user,看起来像.

您应该只能在Notes模型中添加关系,如下所示:

public function user()
{
    return $this->belongsTo(User::class);
}
Run Code Online (Sandbox Code Playgroud)