Поэтому я создал эту простую гостевую книгу, где люди оставляют комментарии. Я связал модель пользователя с моделью комментариев и попытался вернуть пользователя, опубликовавшего комментарий, однако всегда получаю сообщение об ошибке. Я сделал программу продажи билетов до этого, используя тот же код, и она работала и работает до сих пор. Смотри ниже
Comment Model
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Comment extends Model
{
public function user()
{
return $this->belongsTo('User::class');
}
}
Модель пользователя
<?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);
}
}
И это контроллер, в котором я пытаюсь вернуть результаты
<?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);
}
}
Каждый раз, когда я пытаюсь выполнить DD-результат, я получаю сообщение об ошибке
Свойство [пользователь] не существует в этом экземпляре коллекции.
Я на 100% в тупике, почему это будет работать в одном проекте, а не в другом. Я даже переделал это маленькое приложение, чтобы проверить, было ли это тем, что я сделал, и все равно получаю тот же результат.