我正忙着Laravel From Scratch: Updating Records and Eager Loading . 我跟着tut但是在尝试在CardsController中添加用户数据时遇到此错误 . 我假设我已经观看了3次视频,而我对User,Card&Note的数据库查询与视频完全匹配 .
在通过迁移创建Users表之后,我需要执行另一个步骤吗?
Error
BadMethodCallException in Builder.php line 2345:
调用未定义的方法Illuminate \ Database \ Query \ Builder :: user()
CardsController code
<?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'));
}
}
2 回答
您的
note
模型缺少与其相关联的user
的关系定义,它看起来像 .您应该只能在
Notes
模型中添加关系,如下所示:该视频确实存在一些问题,因此我也遇到了同样的问题 . 您应该只能在Note模型中添加关系,如下所示:
并在用户模型中像这样:
祝福你 !