Нужно получить экземпляр пользователя с помощью:
public function user()
{
return $this->belongsTo('App\User', 'id', 'user');
}
Но функция возвращает только id пользователя.
App\User:
<?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', 'avatar', 'steamid64', 'steamid'
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'remember_token',
];
}
Во-первых, у вас перепутаны аргументы в методе belongsTo (хотя это проблему не решит). Правильно будет:
public function user()
{
return $this->belongsTo('App\User', 'user', 'id');
}
Во-вторых, проблема в том, что вы пытаетесь обратиться к атрибуту-методу user, в то время как у вас уже есть в модели атрибут-число user.
Решение 1. Назвать метод для связи с User::class иначе, например, owner:
public function owner()
{
return $this->belongsTo('App\User', 'user', 'id');
}
Тогда
$someObject->owner // будет содержать объект App\User.
Решение 2. Переименовать столбец в модели связанного объекта с user на user_id, как это и рекомендуется в Laravel.
// в файле миграции модели
$table->unsignedInteger('user_id');
и тогда уже заработает обращение к $someObject->user будет содержать объект App\User.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости