Ich habe eine benutzerdefinierte Route, die Parameter akzeptiert. Welches ist:Rückgabe von null, wenn die Werte des Parameters von create-Methode in Laravel erhalten
Route::get('reservation/{id}/create',
['as' => 'reservation.create', 'uses' => '[email protected]'
]);
Ich habe diese Variable geschützt $ student_id. Das ID wird mit dem Parameter der create-Methode von ReservationController zugewiesen, wie unten zu sehen:
class ReservationController extends Controller
{
protected $student_id;
public function index()
{
return $this->student_id;
}
public function create($id)
{
$this->student_id = $id;
$subjects = Subject::with('sections')->get();
return view('reservation.form',compact('subjects'));
}
public function store(Request $request)
{
$subject = new Reservation();
$subject->section_subject_id = $request->sectionSubjectId;
$subject->student_id = $this->student_id;
$subject->save();
}
}
Wenn die $ id Parameter Rückkehr auf die Methode erzeuge ich die genaue ID-Nummer. Ich habe auch diese $ id mit der $ student_id zugewiesen. Aber beim Zuweisen der $ student_id für die Speichermethode bekomme ich null Wert. Ich weiß, dass ich hier falsch liege, kann mir bitte jemand dabei helfen.
Okay, also lassen Sie mich einige Informationen hinzufügen: In meiner URL bei der Verwendung der Route reservation.create habe ich diese Adresse localhost: 8000/reservation/1/create die Nummer 1 in dieser URL ist die Studenten-ID, die ich will Holen Sie sich die Student_id in meiner Store-Methode und weisen Sie sie zu.
Ich habe auch dieses Formular Ansicht:
form.blade.php
<body>
@foreach($subjects as $subject)
@foreach($subject->sections as $section)
<tr>
<td>{{ $section->section_code }}</td>
<td>{{ $subject->subject_code }}</td>
<td>{{ $subject->subject_description }}</td>
<td>{{ $section->pivot->schedule }}</td>
<td>{{ $subject->units }}</td>
<td>{{ $section->pivot->room_no }}</td>
<td>
<button
v-on:click="addSubject({{ $section->pivot->id }})"
class="btn btn-xs btn-primary">Add
</button>
<button class="btn btn-xs btn-info">Edit</button>
</td>
</tr>
@endforeach
@endforeach
</body>
Zur gleichen Zeit, die ich uns von vue.js machen und vue-Ressource
all.js
methods:{
addSubject: function(id){
this.$http({
url: 'http://localhost:8000/reservation',
data: { sectionSubjectId: id },
method: 'POST'
}).then(function(response) {
console.log('success');
},function (response){
console.log('failed');
});
}
}
weil STUDENT_ID null ist, verwenden Sie $ Subjekt-> STUDENT_ID = $ Anfrage-> id oder Anfrage- $> STUDENT_ID oder was auch immer der Name, den Sie verwenden –