Laravel многие ко многим молиморф - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть модель Activity.Теперь мне нужно установить связь между Activity и полиморфными элементами (такими как порядок, задача и т. Д.).Я создал ActivityLink модель:

class ActivityLink extends Model
{
    protected $table = 'activity_link';

    public function activity()
    {
        return $this->belongsTo(Activity::class);
    }

    public function linkable()
    {
        return $this->morphTo();
    }
}

links() метод в Activity модель:

public function links()
    {
        return $this->hasMany(ActivityLink::class, 'activity_id', 'id');
    }

activity_link таблица:

public function up()
    {
        Schema::create('activity_link', function (Blueprint $table) {
            $table->unsignedInteger('activity_id');
            $table->unsignedInteger('linkable_id');
            $table->string('linkable_type');

            $table->foreign('activity_id')
                ->references('id')
                ->on('activities')
                ->onUpdate('NO ACTION')
                ->onDelete('CASCADE');
        });
    }

Моя цель - получить метод для создания и извлечения всех ссылок из действия.Когда я пытаюсь нажать ссылку на активность:

$activity->links()->create($link->toArray());

я получаю сообщение об ошибке.Я знаю, что делаю что-то не так, но я застрял в проблеме.

...