- Версия Laravel: 5.8
- Версия Nova: 2.0.5
- Версия PHP: 7.3
- Операционная система и версия: MAC OS 10.14.4
- Тип и версия браузера: Google Chrome 75.0.3770.100
Описание:
У меня есть приложение, позволяющее создать задачу.Задача принадлежит кампании.
У меня есть кнопка создания на странице сведений о кампании, если пользователь нажимает эту кнопку, URL-адрес будет выглядеть следующим образом: http://demo.test/nova/resources/tasks/new?viaResource=campaigns&viaResourceId=1&viaRelationship=
.
Как вы можетевидите, я добавил resource id
, чтобы я мог использовать их при создании задачи.Примерно так:
$campaign = Campaign::find($request->viaResourceId);
...
Select::make('Campaign', 'campaign_id')
->options([$campaign->id => $campaign->name])
->displayUsingLabels()
->withMeta(['value' => $campaign->id])
->hideWhenUpdating()
->readonly(true),
Этот код работает, если я не использую поле BelongsTo
для другого отношения (в данном случае это группа задач).Кажется, поле BelongsTo
сделало еще один запрос, и оно не прикрепило viaResourceId
в URL, поэтому я не смог получить доступ к моей переменной campaign
.Например, $campaign->id
-> Я получил ошибку: Trying to get property 'id' of non-object