我无法找到并理解我的错误。我有桌面付款,我想在我的学生页面上显示这些数据(通过获取student_id)。它应该通过student_id获取数据。
payments{id, student_id, course_id, transfer_amount, payment_type_id, is_paid, date}
但这个错误一直在显现。我的错误在哪里,伙计们请帮忙。感谢任何帮助。 这是 StudentsController.php
public function payments($id, Request $request) {
$student = Student::findOrFail($id);
$payment = Payment::where('student_id', $id)-> get();
$student->has('payments')->where('student_id', $request->id)->get();
return view('students.groups', compact('student', 'payment'));
}
这是我的模型 Student.php
public function payments()
{
return $this->belongsToMany('App\Payment','payments', 'student_id');
}
这里是观看学生>的 payments.blade.php
@forelse ($student->payments as $key => $payment)
<tr class="center aligned">
<td>{{++$key}}</td>
<td>{{$payment->course_id}}</td>
<td>{{$payment->payment_type_id</td>
<td>{{$payment->transfer_amount}}</td>
<td>
@if($payment->is_paid)
<p style="color: green;">Paid</p>
@else <p style="color: red">Not Paid</p>
@endif
</td>
@empty
<tr class="center aligned">
<td colspan="12" class="ui red header">No data</td>
</tr>
@endforelse
错误不显示唯一的表/别名。
答案 0 :(得分:0)
我认为您可以更新您的查询,如:
public function payments($id, Request $request) {
$student = Student::findOrFail($id);
$payment = Student::with('payments')->where('id', $id)->get();
return view('students.groups', compact('student', 'payment'));
}
希望这会对你有所帮助。
更新5/5/2017 我认为你应该更新payments.blade.php
@forelse ($student->payments as $key => $payment)
<tr class="center aligned">
<td>{{++$key}}</td>
<td>{{$payment->course_id}}</td>
<td>{{$payment->payment_type_id}}</td>
<td>{{$payment->transfer_amount}}</td>
<td>
@if($payment->is_paid)
<p style="color: green;">Paid</p>
@else <p style="color: red">Not Paid</p>
@endif
</td>
@empty
<tr class="center aligned">
<td colspan="12" class="ui red header">No data</td>
</tr>
@endforelse