【问题标题】:Can't update the values when having a dynamic relationship. Laravel Nova具有动态关系时无法更新值。 Laravel 新星
【发布时间】:2019-04-03 15:29:30
【问题描述】:

我已经在 Laravel Nova 上的 Google 和 GitHub 问题上对此问题进行了长期调查。

我确实有下一个代码,如下所述:

   /**
    * @var array
    */
    private $parentClasses = [
        'activity' => Activity::class,
        'movie' => PlayTogether::class,
        'book' => Book::class
    ];

    /**
     * Returns a parent class/entity to which Skills are described
     *
     * @return \Illuminate\Database\Eloquent\Relations\BelongsTo|Activity|PlayTogether|Book
     */
    public function parent()
    {
        return $this->belongsTo($this->parentClasses[$this->attributes['type']], 'entity_id', 'id');
    }

访问编辑模式时,在Update 上出现异常:

在记录 $this->attributes['type'] 时,我得到一个空字符串。

我该如何解决这个问题?有什么想法吗?

【问题讨论】:

    标签: laravel laravel-5.6 laravel-nova


    【解决方案1】:

    我的一个模型也有类似的问题。该模型具有动态关系字段,尝试更新此模型时出现问题。更新模型时 - 它的所有字段和关系都是空的。我通过在需要的地方检查空虚字段来“解决”这个问题。

    if (!empty($this->relatedModel)) {
        // do someting
    }
    

    似乎是 Nova 内部的一个错误。

    【讨论】:

    • 嗨,欢迎来到 stackoverflow。最好不要简单描述解决方案,而是提供解决OP问题的代码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多