Ich habe zwei Tabellen 1. Kurs 2.User.So rufen Sie Daten von vielen zu vielen beredten Beziehungen ab
Benutzer kann Kurs aus der Liste der Kurse auswählen und mit seiner Entität kann er seine Benutzerinformationen speichern. Jetzt kann ein Admin die Benutzerdetails überprüfen. So gibt es eine Benutzerdetailseite, in der ich Benutzerdetails anzeigen möchte. Aber es ist nicht
Hier wird das Benutzermodell:
<?php
namespace App;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
protected $table='users';
protected $fillable=['name','email','phone','course_id'];
public function roles()
{
return $this->belongsToMany('App\Role', 'user_role', 'user_id', 'role_id');
}
public function hasAnyRole($roles)
{
if (is_array($roles)) {
foreach ($roles as $role) {
if ($this->hasRole($role)) {
return true;
}
}
} else {
if ($this->hasRole($roles)) {
return true;
}
}
return false;
}
public function hasRole($role)
{
if ($this->roles()->where('name', $role)->first()) {
return true;
}
return false;
}
public function course()
{
return $this->hasMany('App\Course');
}
}
Hier ist der Kurs Modell:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Course extends Model
{
protected $table='courses';
protected $fillable = ['name'];
public function user()
{
return $this->belongsToMany('App\User','course_id');
}
}
Hier ist die Steuerung:
<?php
namespace App\Http\Controllers;
use App\User;
use App\Role;
use App\Fee;
use App\Course;
use Illuminate\Support\Facades\Input;
use Illuminate\Http\Request;
class AppController extends Controller
{
public function getStudentDetails(){
// $user = User::all();
$user = \DB::table('users')->where('course_id','!=',0) ->get();
return view('studentDetails', compact('user'));
}
}
Ich habe nur zu zeigen, diese Benutzerdaten, die die Kurse aus der Liste ausgewählt haben. Wie könnte ich es tun?
Ich habe nicht bekommen, welche Benutzer Sie zeigen möchten. "Wer hat die Kurse aus der Liste auf der Benutzerdetailseite ausgewählt?" Was meinst du? – Erick
Sie haben ein wenig Platz, bevor das -> get()/ich nicht bekommen habe, was Sie versuchen zu tun, aber versuchen Sie es mit $ user = Benutzer :: wo ('course_id', 1) -> get(); –
Benutzer haben bereits eine Liste von Kursen aus den Kurstabellen ausgewählt und vervollständigen die Registration. Und nun möchte ich diese Benutzerdetails einer anderen Seite mit Kursnamen zeigen und zeigen, dass ich auch mit der Kurstabelle überprüfen muss. Weil ich in der Benutzertabelle nur die ID der Kurse und nicht den Namen gespeichert habe. @Erick – Hola