Ich versuche, die Benutzer Profilinformationen zu zeigen, die angemeldet sind, habe ich zwei Tabellen ist eine Nachricht und andere ist Benutzer, wenn Benutzer anmelden es sehen ihr Profil, aber es ist ein Fehler.Versuch, Eigenschaft von Nicht-Objekt Laravel 5.3, profile.blade.php zu bekommen.
profile.blade:
<table class="table table-bordered">
<thead>
<tr>
<th>
Name
</th>
<th>
Email
</th>
</tr>
</thead>
<tbody>
@foreach($users as $usr)
<tr>
<td>
{{$usr->name}}
</td>
<td>
{{$usr->email}}
</td>
</tr>
@endforeach
</tbody>
Controller:
public function GetUserInfo($id){
$user = DB::table('users')
->join('messages', 'messages.user_id', '=', 'users.id')
->where('users.id', '=', $id)
->get();
if($user->count()){
$user = $user->first();
return view('profile')->with('users',$user);
}
}
Modell:
class Messages extends Model
{
protected $table = 'messages';
protected $fillable = [
'message','user_id'
];
public function user()
{
return $this->hasOne('App\User', 'id', 'user_id');
}
}
Sollte nicht '$ Benutzer' in Blade-Datei von der sein '$ user' in Kopf' @ foreach' Schleife? – Ari
Ihre Codes und Problembeschreibung vermittelt nicht Ihre Anforderung !! Kannst du etwas mehr erklären was du damit machen willst !!! Damit ich dir einen besseren Weg vorschlagen kann. –
Primärschlüssel des Benutzers (ID) ist Fremdschlüssel in Nachricht (Benutzer-ID) und es gibt einen Controller der Nachricht Ich bekomme das Benutzerinformationsformular Benutzertabelle über Relation und Join. – Haider