一天中的好时光, 我正在尝试创建一个包含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;
加载课程后, $ links 变量返回选择的选项,同时,本地属性 availableCourses 填充为{{ 1}}。
用户选择课程后,将触发以下代码:
'course-id' => 'course-link'
但是,NovaDependencyContainer::make([
Code::make('Test', function(){
return json_encode($this->courses);
})->language('json'),
])->dependsOnNotEmpty('courses')
变量为空(我认为应该在选择课程时将其填充)。
我做错了什么,还是无法实现我想要的功能?
为简单起见,这是我要实现的目标:
P.S。。此资源和 Course 资源没有任何关联,因此我无法使用该关系。