Как реализовать setEagerLoads у текущего пользователя - Laravel - PullRequest
0 голосов
/ 25 сентября 2019

Я хочу отображать информацию о текущем пользователе, но без связи.что-то мне просто нужна конкретная информация о модели пользователя.

Я пробовал этот похожий вопрос Отключенные нетерпеливые отношения

Я пытаюсь ответить выше и в итоге получаю пустой пользователь

window.Goyong =
      <?php echo json_encode([
          'csrfToken' => csrf_token(),
          'user' => $currUser->setEagerLoads([])
]); ?>

Результат:

{
    "csrfToken": "kDc5WmebrWlHzyV77pdYZCW69kaiGK6ZC29zAvFn",
    "user": {}
}

Как показать текущего пользователя, не связывая его?

1 Ответ

0 голосов
/ 25 сентября 2019

У вас есть две проблемы:

  1. $currUser кажется пустым объектом пользователя (попробуйте с Auth::user(), как предложено @Paul вместо этого)
  2. setEagerLoads([])не имеет особого смысла, когда модель уже была извлечена из базы данных.Однако вы можете удалить отношения, используя setRelations([]).

Пример:

$withEagerLoadedRelationships = Subscriber::query()->with('profiles')->first();
$withoutRelationships = $withEagerLoadedRelationships->setRelations([]);

Кстати, если только вам не нужны эти загруженные отношения где-то еще, вы должны действовать при создании экземпляра$currUser удаление загруженной загрузки с самого начала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...