我忙于Laravel From Scratch: Updating Records and Eager Loading。我跟着tut但是在尝试在CardsController中添加用户数据时遇到此错误。我假设我错过了卡片用户关系中的一个步骤,但我已经观看了3次视频,我的数据库查询用户,卡片和放大器注意与视频完全匹配。
在通过迁移创建Users表后,我需要执行另一个步骤吗?
错误
BadMethodCallException in Builder.php line 2345:
调用未定义的方法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'));
}
}
答案 0 :(得分:10)
您的note
模型缺少关联user
的关系定义,看起来像。
您应该能够在Notes
模型中添加关系,如下所示:
public function user()
{
return $this->belongsTo(User::class);
}
答案 1 :(得分:1)
该视频确实存在一些问题,因此我也遇到了同样的问题。 您应该能够在Note模型中添加关系,如下所示:
<?php
// Initialize the session.
session_start();
// If you are using session_name("something"), don't forget it now!
if(isset($_POST['logout'])){
//What ever you want
// Finally, destroy the session.
unset( $_SESSION );
session_destroy();
//redirect to loginpage
header('Location:../login.php');
exit;
}
?>
并在用户模型中如下:
public function user()
{
//return $this->belongsTo(User::class);
return $this->belongsTo('App\User');
}
保佑你!
答案 2 :(得分:-1)
phpMyAdmin –错误
对配置文件的权限错误,应该是不可写的!
从错误消息中,可以看出问题是由于配置文件config.inc.php的文件权限不正确造成的。
我尝试将文件更改为705、755等,但是没有任何效果。
为解决此问题,我在config.inc.php文件中添加了以下代码行:
$cfg['CheckConfigurationPermissions'] = false;