【发布时间】:2020-09-29 20:43:28
【问题描述】:
我的 Laravel Nova 中有一个部分,我可以从中创建课程时间表。在前端,我的老师可以通过定义 repeat_till 和 repeat_frequency 字段轻松地从一个表单创建多个类。我怎样才能在 Laravel Nova 中获得相同的结果?
我自己的控制器有如下代码:
if($data['repeat'] && $data['repeat_till']) {
$next_date = Carbon::parse($data['date']);
$end_date = Carbon::parse($data['repeat_till']);
while($next_date <= $end_date) {
$dates[] = $next_date->format('Y-m-d');
$next_date = $next_date->addDays($data['repeat']);
}
} else {
$dates[] = $data['date'];
}
...
$parent = null;
foreach($dates as $date) {
$schedule = Schedule::create([
...
'date' => $date,
'parent_id' => ($parent ? $parent->id : null),
...
]);
if(!$parent) {
$parent = $schedule;
}
}
我已经研究过为此使用观察者的可能性,到目前为止,这似乎是唯一可行的选择。但是,为此我需要访问 repeat(repeat_frequency) 和 repeat_till 值,它们不是 Schedule 模型的一部分。如何在 created 方法中访问这些值?
【问题讨论】:
标签: laravel laravel-nova