質問編集履歴
2
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -147,5 +147,44 @@
|
|
147
147
|
|
148
148
|
|
149
149
|
### 補足情報(FW/ツールのバージョンなど)
|
150
|
+
いただいたご指摘をもとに、以下のように変更したところ、
|
151
|
+
Argument 1 passed to Illuminate\Database\Eloquent\Relations\HasOneOrMany::save() must be an instance of Illuminate\Database\Eloquent\Model, array given
|
152
|
+
とエラーが出てしまいました。
|
153
|
+
```php
|
154
|
+
<?php
|
150
155
|
|
156
|
+
namespace App\Http\Controllers;
|
157
|
+
|
158
|
+
use App\Models\Person;
|
159
|
+
use App\Models\Book;
|
160
|
+
use Illuminate\Http\Request;
|
161
|
+
//Controller
|
162
|
+
|
163
|
+
public function store(Request $request)
|
164
|
+
{
|
165
|
+
$newdata=$request->input('new data');
|
166
|
+
|
167
|
+
$person=new Person;
|
168
|
+
|
169
|
+
$person->name=$newdata['person']['name'];
|
170
|
+
$person->text=$newdata['person']['text'];
|
171
|
+
$person->save();
|
172
|
+
|
173
|
+
|
174
|
+
foreach($newdata['book'] as $book)
|
175
|
+
{
|
176
|
+
$person->getBooks()->saveMany([
|
177
|
+
new Book([
|
178
|
+
'author'=>$book['author'],
|
179
|
+
'title'=>$book['title'],
|
180
|
+
'person_id'=>$person->person_id
|
181
|
+
]);
|
182
|
+
}
|
183
|
+
|
184
|
+
|
185
|
+
|
186
|
+
return view('home.create');
|
187
|
+
}
|
188
|
+
```
|
189
|
+
|
151
190
|
ここにより詳細な情報を記載してください。
|
1
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -106,9 +106,46 @@
|
|
106
106
|
```
|
107
107
|
|
108
108
|
### 試したこと
|
109
|
+
下のようにコントローラーを修正したところ、person_idがNUllになっていてBooksテーブルにレコードを挿入できないとエラーが出ました。
|
110
|
+
```php
|
111
|
+
<?php
|
109
112
|
|
110
|
-
|
113
|
+
namespace App\Http\Controllers;
|
111
114
|
|
115
|
+
use App\Models\Person;
|
116
|
+
use App\Models\Book;
|
117
|
+
use Illuminate\Http\Request;
|
118
|
+
//Controller
|
119
|
+
|
120
|
+
public function store(Request $request)
|
121
|
+
{
|
122
|
+
$newdata=$request->input('new data');
|
123
|
+
|
124
|
+
$person=new Person;
|
125
|
+
|
126
|
+
$person->name=$newdata['person']['name'];
|
127
|
+
$person->text=$newdata['person']['text'];
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
|
132
|
+
foreach($newdata['book'] as $book)
|
133
|
+
{
|
134
|
+
$person->getBooks()->saveMany([
|
135
|
+
new Book(['author'=>$book['author']]),
|
136
|
+
new Book(['title'=>$book['title']]),
|
137
|
+
new Book(['person_id'=>$person->person_id])
|
138
|
+
]);
|
139
|
+
}
|
140
|
+
|
141
|
+
$person->save();
|
142
|
+
|
143
|
+
return view('home.create');
|
144
|
+
}
|
145
|
+
```
|
146
|
+
|
147
|
+
|
148
|
+
|
112
149
|
### 補足情報(FW/ツールのバージョンなど)
|
113
150
|
|
114
151
|
ここにより詳細な情報を記載してください。
|