通过 nova 的 MorphToMany 字段附加它们时,是否可以触摸相关模型的时间戳?

问题描述

也许有人有这方面的经验,我正在尝试在附加 morphToMany 关系时在模型上设置更新时间戳。

我有具有站点关系的活动模型

    public function stations()
    {
        return $this->morphToMany(Station::class,'stationable')->withPivot('distance');
    }

这个模型的 nova 资源有字段:

MorphToMany::make('Stations','stations',Station::class)
                ->fields(function () {
                    return [
                        Text::make('distance')->rules(['required','numeric'])
                    ];
                }),

Station 模型有活动关系和 $touches 属性

    protected $touches = [
        'activities',];

    public function activities()
    {
        return $this->morphedByMany(Activity::class,'stationable');
    }

在 tinker 中这样的东西工作正常,活动的时间戳会更新:

>>> use \App\Activity;
>>> use \App\Station;
>>> Activity::first()->stations()->attach(Station::first(),['distance' => 3]);

当通过 Activity nova 资源将工作站附加到活动时,活动的时间戳不会更新。如果有人知道为什么以及如何解决这个问题,我们将不胜感激。 :) 谢谢。

编辑: 忘了补充,用的是 Laravel 8.19,Nova 3.17

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)