NovaDependencyContainer与“选择”字段配对

时间:2018-11-02 04:48:01

标签: php laravel laravel-nova

一天中的好时光, 我正在尝试创建一个包含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') 变量为空(我认为应该在选择课程时将其填充)。

我做错了什么,还是无法实现我想要的功能?

为简单起见,这是我要实现的目标:

  1. 为用户提供选择课程的能力
  2. 如果选择了课程,则创建一个字段,其中将显示所选的课程ID
  3. 从那里,我想使用该课程ID来获取课程的链接(问题中未提及,因为当我能够获得课程ID时,我将能够从中获取该链接先前创建的 availableCourses 数组)

P.S。。此资源和 Course 资源没有任何关联,因此我无法使用该关系。

0 个答案:

没有答案