У меня проблемы с использованием eloquent. У меня есть таблица user
(id
, name
, email
, roleid
) и 2 другие таблицы (student
и teacher
).
Я хочу подключить его к user
таблице через roleid
(таблица пользователя) и user_id
(student
и teacher
таблица), но я не могу показать / показать его, когда 2 таблицы (студент и учитель) есть данные.
Это работает, когда, например, student
таблица имеет одну запись, а teacher
не имеет
вот моя модель пользователя
//User Model
public function student(){
return $this->hasOne('App\Student','user_id');
}
public function teacher(){
return $this->hasOne('App\Teacher','user_id');
}
//Student and Teacher Model
public function user(){
return $this->belongsTo('App\User','id');
}
//Teacher Controller
public function teacher(){
$teachers = Teacher::orderBy('t_fname','asc')->paginate(10);
$users = User::orderBy('username','asc')->paginate(10);
//$teachers = Teacher::orderBy('name','asc')->paginate(10);
return view('usersaccount.teacher', compact('teachers','users'));
}
//View Teacher
@if (count($teachers)>0)
@foreach($users as $user)
<tr>
<td>{{$user->username}}</td>
<td>{{$user->teacher->t_fname}}</td>
<td>{{$user->email}}</td>
<td>
@if(!Auth::guest())
@if(Auth::user()->id == $user->teacher->created_by)
{!!Form::open(['action'=>['TeacherController@destroy', $user->id], 'method'=>'Post', 'class'=>''])!!}
{{Form::hidden('title',$user->username)}}
{{Form::hidden('desc',$user->email)}}
{{Form::hidden('_method','DELETE')}}
{{Form::button('<i class="fa fa-trash"></i>', ['type' => 'submit', 'class' => 'btn btn-warning btn-sm delete'] ) }}
{{-- {{Form::submit('Delete',['class'=>'btn btn-danger delete'])}} --}}
<a href="/teacher/{{$user->id}}/edit" class="btn btn-primary btn-sm mr-1" data-target=".edit{{$user->id}}" data-toggle="modal"><i class="fas fa-pencil-alt"></i> </a>
{!!Form::close()!!}
@endif
@endif
</td>
<td>{{$user->email}}</td>
</tr>
@endforeach
@endif