NovaDependencyContainer в сочетании с полем выбора

Доброе время суток,
Я пытаюсь создать ресурс, который состоит из 2 полей, одно из которых должно быть заполнено на основе значения другого.

Для этого я использую NovaDependencyContainer.

Целевое поле Выбрать со следующей структурой:
Select::make('Course', 'courses')->options($this->loadAvailableCourses())
В этом поле создается массив со всеми доступными курсами:

$courses = \App\Models\TrainingCenter\Course::all();
$links = [];
foreach ($courses as $course) {
$course = $course->toArray();
$links[$course['id']] = $course['title'][app()->getLocale()];
$this->availableCourses[$course['id']] = $course['link'];
}
return $links;

После загрузки курсов варианты выбора возвращаются $ ссылки переменная, в то же время локальная собственность availableCourses населена с отношением 'course-id' => 'course-link',

После того, как пользователь выбирает курс, запускается следующий фрагмент кода:

NovaDependencyContainer::make([
Code::make('Test', function(){
return json_encode($this->courses);
})->language('json'),
])->dependsOnNotEmpty('courses')

Тем не менее $this->courses переменная пуста (я предполагал, что это должно быть заполнено только в то время, когда я выбрал курс).

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

Чтобы сделать это просто, вот что я пытаюсь достичь:

  1. Предоставить Пользователю возможность выбрать курс
  2. Если выбран курс, создайте поле, в котором будет отображаться выбранный идентификатор курса.
  3. Оттуда я хочу использовать этот идентификатор курса, чтобы получить ссылку на курс (он не упоминается в вопросе, поскольку, когда я смогу получить идентификатор курса, я смогу извлечь эту ссылку из ранее созданного availableCourses массив)

Постскриптум Этот ресурс и Курс Ресурс НЕ относится ни к чему, поэтому я не могу использовать это отношение.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]