У меня есть модель 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());
я получаю сообщение об ошибке.Я знаю, что делаю что-то не так, но я застрял в проблеме.