Я пытаюсь создать страницу, где пользователь может добавить описание о себе, например, какие хобби ему или ей интересны, поэтому я сделал отдельную таблицу из пользователей, поэтому есть таблица USER и PROFILE.таблица, как обе таблицы выглядят
таблица пользователя
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
таблица профиля
public function up()
{
Schema::create('profiles', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id');
$table->string('email')->unique();
$table->string('firstname');
$table->string('lastname');
$table->integer('age');
$table->integer('birthdate');
$table->text('bio');
$table->timestamps();
});
}
, поэтому в моих моделях я устанавливаю отношение к профилю и пользователю.Функция belognsto () в laravel и hasone () так выглядит модель
user.php
public function profile()
{
return $this->hasOne(Profile::class);
}
profile.php
public function user()
{
return $this->belongsTo(User::class);
}
но я получаю ошибкукогда я пытаюсь добавить это к лезвию, например,
{{ $profile->user }}
, он говорит, что переменная не может быть найдена, поэтому я не установил отношения кораблей прямо в laravel, чтобы он выдавал ошибку, или это что-то еще
ошибка: [Свойство [пользователь] не существует в этом экземпляре коллекции.]
ProfileController.php
public function index()
{
$profile = Profile::all();
return view ('profile.show',compact('profile'));
}