2016-10-28 3 views
0

Ich habe mit dieser für eine Weile gekämpft, bin ein neuer Entwickler mit sehr wenig Erfahrung. Ich arbeite an einem Projekt, das sich mit Drogen und Krankheiten befasst. Es gibt eine Beziehung von vielen zu vielen.Laravel-Handhabung mehrerer Kontrollkästchen in Pivot-Tabellen

Drug Modell

public $timestamps=false; 

public function disease() 
{ 
    return $this->belongsTo('App\Disease'); 
} 

Disease Modell

public $timestamps=false; 

public function drug() 
{ 
    return $this->belongsTo('App\Drug'); 
} 

I Beziehungen in der Disease_Drug Pivot-Tabelle erstellen möchten Formen verwenden. form.blade.php

<label>Disease</label> 
    <select class="form-inline input-sm " name="disease" id="disease"> 
     @foreach($diseases as $key => $disease) 
      <option value="{{$disease->id}}"> {{$disease->name}}</option> 
     @endforeach 
    </select> 

<label>Drugs</label><br> 
     @foreach($drugs as $key=>$drug) 
      <input type="hidden" name="drug[]" value="0" /> 
      <input class="checkbox-inline" type="checkbox" name="drug[]"value="{{ $drug->id }}" id="{{ $drug->id }}">{{ $drug->name }} <br> 
     @endforeach 

    <button type="submit" class="btn btn-primary">Submit</button> 

Ich habe ein disease_drug Controller

public function form() 
{ 
    $diseases = Disease::all(); 
    $drugs = Drug::all(); 

    return view('admin.form') 
     ->with('diseases', $diseases) 
     ->with('drugs', $drugs); 

} 
public function store(Request $request) 
{ 
    $diseases = $request->get('diseases.ids'); 
    $drugs = $request->get('drugs.id', []); // Empty array by default if no checkbox checked. 
    $diseases->drugs()->sync($request->input('drugs', [])); 
} 

ich nicht in der Lage bin, die Ergebnisse in der Datenbank zu speichern. Ich bin wirklich ahnungslos, also hilf mir bitte.

Antwort

0

Wenn Beziehung zwischen Drogen und Krankheit Viele ist, sollte zu vielen dann Ihre Beziehung Funktion wie sein:

Drug Modell

public function disease() 
{ 
    return $this->belongsToMany('App\Disease'); 
} 

Disease Modell

public function drug() 
{ 
    return $this->belongsToMany('App\Drug'); 
} 

Sie verwenden belongsTo() Funktion statt .

Verwandte Themen