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()
と、単数形なのでした…。ガックリ。
ディスカッション
コメント一覧
まだ、コメントがありません