Ich muss Array zur Datenbanktabelle hinzufügen. In HTML verwende ich Select mit mehreren Auswahlwerten.Laravel viele Relation einfügen
Mein Code: HTML Gleichwie:
<select name="sel_val[]" multiple>
<optgroup label="select_values">
@foreach($val as $v)
<option value="{{$v->id}}">{{$v->text}}</option>
@endforeach
</optgroup>
</select>
Modellbeziehung wie zum Beispiel:
public function relationtest(){
return $this->hasMany('App\test',"testid","id");
}
Und Controller:
protected function create(Request $request){
$last = Home::create([
'somename'=>$request['somename'],
'text'=>$request['text']
]);
$last->relationtest()->createMany([
'selectvalue'=>$request->sel_val
]);
return Redirect::to('admin/products');
}
Mein Array (print_r ($ request)) :
[sel_val] => Array ([0] => 1 [1] => 3)
Und DB
HOME::
|id|sometext|text
|1 |asdgasdg|gsdg
|2 |asdgdsdg|gsg
TEST::
|id|selectvalue|testid
//testid == HOME::id
kurz gesagt, muss ich $ request-> sel_val (Array) wurde zu der Datenbank hinzugefügt. Ich denke, ich sollte "createMany" verwenden, aber ich weiß nicht wie.
Können Sie mir mehr sagen, wie man die hinzugefügten Daten bearbeiten? – bradley546994
Im Grunde behandeln Sie Beziehungen genauso wie eloquente oder Abfrage-Builder-Objekte. Die meisten Methoden funktionieren gleich, wie zum Beispiel update, insert, create, delete, ect. https://laravel.com/docs/master/eloquent-relationships#inserting-related-models https://laravel.com/docs/master/queries https://laravel.com/docs/master/eloquent –