所以我一直在构建这个简单的留言簿,让人们发表评论。我已将用户模型链接到评论模型,并尝试返回发布评论的用户但是我总是收到错误。我在此之前使用相同的代码制作了票务计划,它仍然有效并且工作正常。见下文
评论模型
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Comment extends Model
{
public function user()
{
return $this->belongsTo('User::class');
}
}
&#13;
用户模型
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
public function comments()
{
return $this->hasMany(Comment::class);
}
}
&#13;
这是我试图返回结果的控制器
<?php
namespace App\Http\Controllers;
use App\Comment;
use App\User;
use Auth;
use Illuminate\Http\Request;
class HomeController extends Controller
{
public function index()
{
$comments = Comment::all();
$user = Auth::user();
$test = User::all();
$average = number_format((Comment::avg('rating')),2, '.', '');
dd($comments->user);
return view('welcome')->withComments($comments)->withUser($user)->withAverage($average);
}
}
&#13;
每次我尝试和DD结果我得到错误
此集合实例上不存在Property [user]。
我100%难以理解为什么这会对一个项目起作用而不是另一个项目。我甚至重建了这个小应用程序,看看它是否是我做过的事情,我仍然得到相同的结果。