Ich bin neu unter Laravel und ich habe ein Problem, wenn ich versuche, Array von Daten in der Datenbank zu speichern. Hier ist der Fehler, den ichLaravel Argument 1 an HasOneOrMany übergeben :: save() muss eine Instanz von Model Array gegeben werden
Argument 1 bestanden Illuminate \ Database \ Eloquent \ Relations \ HasOneOrMany erhalten :: save() muss eine Instanz von Illuminate \ Database sein \ Eloquent \ Model, Array gegeben, genannt in S: \ Dokumente \ samdyk \ Anbieter \ Laravel \ Framework \ src \ Illuminate \ Database \ Eloquent \ Relations \ HasOneOrMany.php auf der Leitung 267 und definiert
hier ist also mein Code
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);
}
}
Und hier ist der Funktionsregler
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;
}
Also hier ist $request->get('skills')
Daten
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"
]
]
So wie man sehen kann ich versuchen, ein Array zu speichern (das ist klar). Aber selbst auf Laravel Dokumentation sehe ich diese $ post = App \ Post :: find (1);
$post->comments()->saveMany([
new App\Comment(['message' => 'A new comment.']),
new App\Comment(['message' => 'Another comment.']),
]);
Warum ist mein Code falsch?
Danke! Ich habe mit diesem Problem 3 Stunden gekämpft! Du hast mir viel Zeit gespart. Ich werde deine Antwort so schnell wie möglich annehmen. :) – David