HasOne relationship not updating foreignKey in parent model

Hi there, I have two models, Project & ProjectAttachment. The relation in Project model is:
protected $fillable = [
  ...
  'attachment_id',
  ...
]
public function attachment(): HasOne{
    return $this->hasOne(ProjectAttachment::class, foreignKey: 'id', localKey: 'attachment_id');
}

and in ProjectResource class, I am using
Section::make('Attachment')
    ->relationship('attachment')
    ->columns(2)
    ->schema([
        Select::make('type')
            ->options(ProjectAttachmentType::options())
            ->native(false)
            ->reactive()
            ->required(),
        TextInput::make('url')
            ->label('URL')
            ->url()
    ])

Although I was very confident it will work, this is only adding rows in ProjectAttachment table and not updating the attachment_id in Project table when submitting a create record request, resulting into empty columns in Attachment section above. But if I add attachment_id manually in database, it would fill up the columns in Attachment.

Can someone please help with if I missed anything?
Solution
You are right, Thanks you fixed the issue, I am sorry that the parameters had me confused. In hasOne relationship, foreign_key is actually supposed to be parent's id column in child entity, which in my case would be project_id (or no need to mention as you said). I thought I would only need the project_id column in belongsTo relation because it would save me a column. Now I removed attachment_id because its no longer in use.
Was this page helpful?