私はに新しくなりました.Laravelに新規であり、データ配列をデータベースに保存しようとすると問題が発生します。ここで雄弁\モデル、 に呼ばれる配列を指定しては、\私は を照らし\データベースに渡さLaravel HasOneOrMany :: save()に渡された引数1は、モデル配列のインスタンスである必要があります。
引数1 \雄弁\リレーションズ\ HasOneOrManyを取得::(保存)エラーが点灯\データベースの インスタンスでなければならないのですS:\ドキュメント\ samdyk \ベンダ\ laravel \枠組み\ SRC \を照らし\データベース\雄弁\リレーションズ\ HasOneOrMany.php ライン267上及びだからここに私のコードは
だclass Skill extends Model { protected $fillable = ['skill_title', 'knowledge_level']; } class User extends Authenticatable { use Notifiable; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'name', 'email', 'password', ]; /** * The attributes that should be hidden for arrays. * * @var array */ protected $hidden = [ 'password', 'remember_token', ]; public function skills() { return $this->hasMany(Skill::class); } }
を定義しあなたは私が配列(それは明らかだ)を保存しようと見ることができるようには
そして、ここでコントローラ機能
public function editMyProfile(Request $request) {
$user = Auth::user();
dump($request->get('skills'));
// dump($request->get('skills')[0]);
dump($user->skills()->saveMany($request->get('skills')));
return 1;
}
は、だからここだ$request->get('skills')
データ
array:5 [
0 => array:2 [
"skill_title" => "fghjghj"
"knowledge_level" => "20"
]
1 => array:2 [
"skill_title" => "gjghjhgj"
"knowledge_level" => "50"
]
2 => array:2 [
"skill_title" => "ghjhgjgfjh"
"knowledge_level" => "80"
]
3 => array:2 [
"skill_title" => "hjkhgkkkhgjkjhkhjgk"
"knowledge_level" => "53"
]
4 => array:2 [
"skill_title" => "jghjhgjhgj"
"knowledge_level" => "57"
]
]
です。しかし、laravelのドキュメントでさえ私はこれを見ています $ post = App \ Post :: find(1);
$post->comments()->saveMany([
new App\Comment(['message' => 'A new comment.']),
new App\Comment(['message' => 'Another comment.']),
]);
なぜ私のコードが間違っていますか?
ありがとうございました!私はこの問題に3時間苦労していました!あなたは私に多くの時間を救った。できるだけ早くあなたの答えを受け入れます。 :) – David