Я получаю сообщение об ошибке При попытке получить свойство name для необъекта при попытке вывести на мой взгляд имя атрибута отношения belongsTo
, установленного для Учреждения сущности (модели), самое смешное, чтоЯ сделал то же самое с отношениями с пользователем, и это сработало.
Я пробовал несколько разрешений, которые имеют переполнение стека, но ни одно из них не дало результатов, кажется, простая вещь, но ... нетработа
Типовое учреждение
class Institution extends Model implements Transformable
{
use TransformableTrait;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = ['name'];
public $timestamps = true;
}
Модель пользователя
class User extends Authenticatable
{
use Notifiable;
use SoftDeletes;
/**
* The attributes that are mass assignable.
*
* @var array
*/
public $timestamps = true;
protected $table = 'users';
protected $fillable = [
'cpf',
'name',
'phone',
'birth',
'gender',
'notes',
'email',
'password',
'status',
'permission'
];
Групповое лицо
class Group extends Model implements Transformable
{
use TransformableTrait;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = ['name','user_id','institution_id'];
// a classe grupo pertence ao usuario atraves do metodo owneruser e institution
public function user()
{
return $this->belongsTo(User::class);
}
public function institution()
{
return $this->belongsTo(Institution::class);
}
}
GroupsController
public function index()
{
$groups = $this->repository->all();
$user_list = $this->userRepository->selectBoxList();
$institution_list = $this->institutionRepository->selectBoxList();
return view('group.index', [
'groups' => $groups,
'user_list' => $user_list,
'institution_list' => $institution_list
]);
}
Просмотр группы
@foreach($groups as $group)
<tr>
<td>{{ $group->id }} </td>
<td>{{ $group->name }} </td>
// In this line where the error
// Trying to get property 'name' of non-object occurs
<td> {{$group->institution->name }} </td>
// This line is working
<td> {{ $group->user->name }} </td>
<td>
{!! Form::open(['route' => ['group.destroy', $group->id], 'method' => 'delete']) !!}
{!! Form::submit("Remover") !!}
{!! Form::close() !!}
</td>
</tr>
@endforeach
Надеюсь вывод в <td>{{ $group-> institution-> name }}</ td>
Beназвание организации, в которой группа связана через внешний ключ, вместо этого она возвращает ошибку.