Googleドライブの仕様が変わっていて「マイドライブ」で同期するローカルフォルダの変更に手間取ったお話
[2023/02/22]
どっか間違ってるんで再確認を。自分の場合は hasOne() を設定するメソッド名を複数形にしてました…。
Laravel-Admin 導入しておりまして、最初に hasMany だったリレーションを hasOne に変更したんです。
この場合、公式ドキュメントにあるように、Laravel-Admin 用のコントローラー内で
$form->text('profile.age');
と記載します。
(User に対して Profile というモデルが存在している、という設定。)
hasMany の場合は
$form->hasMany('profiles', function (Form\NestedForm $form) { $form->text('age'); $form->datetime('completed_at'); });
と書くんですが、hasOne で 1:1 の関係になると
$form->text('profile.title'); $form->datetime('profile.completed_at');
という書き方に。
この時に profiles → profile のように単数形に変わる、というのは気づいて変えていたんですが、
Model 側の設定が
class User extends Model { public function profiles() { return $this->hasOne(Profile::class); } }
ってしたままになってました。
正解は
public function profile()
と、単数形なのでした…。ガックリ。
ディスカッション
コメント一覧
まだ、コメントがありません