31 lines
718 B
TypeScript
31 lines
718 B
TypeScript
|
import { BaseModel, column, manyToMany } from "@adonisjs/lucid/orm"
|
||
|
import type { ManyToMany } from "@adonisjs/lucid/types/relations"
|
||
|
|
||
|
export default class Page extends BaseModel {
|
||
|
protected tableName = "pages"
|
||
|
|
||
|
@column({ columnName: "id", serializeAs: "id", isPrimary: true })
|
||
|
declare id: number
|
||
|
|
||
|
@column({
|
||
|
columnName: "title",
|
||
|
serializeAs: "title",
|
||
|
})
|
||
|
declare title: string
|
||
|
|
||
|
@manyToMany(
|
||
|
() => {
|
||
|
return Page
|
||
|
},
|
||
|
{
|
||
|
pivotTable: "internal_links",
|
||
|
localKey: "id",
|
||
|
relatedKey: "id",
|
||
|
pivotForeignKey: "from_page_id",
|
||
|
pivotRelatedForeignKey: "to_page_id",
|
||
|
serializeAs: "internalLinks",
|
||
|
},
|
||
|
)
|
||
|
declare internalLinks: ManyToMany<typeof Page>
|
||
|
}
|