Я использую laravel 5.7, есть отношение, что каждый студент принадлежит одной программе, и я пытаюсь получить конкретное название программы студента, используя {{ $student->programs->title }}
Но есть ошибка
ErrorException (E_ERROR) Попытка получить свойство 'title' необъекта (представление: D: \ Work \ UnitOne \ BackEnd \ UniLara \ resources \ views \ admin \ Students \ index.blade.php)
Это мой Режим студента l
<?php
class Student extends Model {
protected $fillable = [
'name', 'country', 'program_id', 'image'
];
public function programs() {
return $this->belongsTo(Program::class);
}
}
и это мои программы Модель
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Program extends Model {
protected $fillable = [
'title', 'description', 'image'
];
public function students() {
return $this->hasMany(Student::class);
}
}
Вот мой СтудентКонтроллер
<?php
namespace App\Http\Controllers;
use App\Http\Requests\Students\CreateStudentsRequest;
use App\Http\Requests\Students\UpdateStudentsRequest;
use App\Program;
use App\Student;
use Illuminate\Http\Request;
class StudentsController extends Controller {
public function index() {
return view('admin.students.index')->with('students', Student::paginate(5));
}
}
и это последнее, что лезвие, вот где у меня возникла проблема, когда я звоню {{ $student->programs->title }}
@foreach($students as $student)
<tr>
<td><img src="{{ asset($student->image) }}" alt="{{ $student->image }}"></td>
<td>{{ $student->name }}</td>
<td>{{ $student->country }}</td>
<td>{{ student->programs->title }}</td>
</tr>
@endforeach