Вы можете видеть все свойства объекта, потому что вы передаете все экземпляры User в свой компонент. Когда представление отображает компонент, оно также отображает переменные, которые вы передали вашему компоненту.
Auth::user()
и $profile
- два экземпляра вашего класса User. Объект User имеет ряд свойств (идентификатор, имя пользователя, имя, фамилия, адрес электронной почты и т. Д. c.). Если вы передадите полный экземпляр Object своему компоненту, он будет визуализирован в представлении, предоставляя все его свойства.
Чтобы не отображать все свойства объекта в представлении, следует вызывать только свойство объекта ie (s) вам нужно, а не сам объект.
Например:
<posts-component :user="{{ Auth::user()->id }}" :profile="{{ $profile->id }}" :friend="{{ Auth::user()->isFriendWith($profile) ? 1 : 0 }}"></posts-component>
Примечание: Ваш isFriendWith()
метод в настоящее время принимает пользователя экземпляр и возвращает логическое значение. Это не проблема, потому что он возвращает только true
или false
и поэтому никогда не раскрывает свойства пользователя.
Подводя итог, можно передавать экземпляры объектов из контроллера в представление, но один раз в По вашему мнению, вы должны быть осторожны при отображении только тех свойств, которые вы готовы предоставить.