[Laravel] hasOne のリレーションを設定しているのに保存されない

結論

どっか間違ってるんで再確認を。自分の場合は hasOne() を設定するメソッド名を複数形にしてました…。

詳細

Laravel-Admin 導入しておりまして、最初に hasMany だったリレーションを hasOne に変更したんです。

この場合、公式ドキュメントにあるように、Laravel-Admin 用のコントローラー内で

と記載します。

(User に対して Profile というモデルが存在している、という設定。)

hasMany の場合は

と書くんですが、hasOne で 1:1 の関係になると

という書き方に。

この時に profiles → profile のように単数形に変わる、というのは気づいて変えていたんですが、

Model 側の設定が

ってしたままになってました。

正解は

と、単数形なのでした…。ガックリ。