2016-08-31 12 views
0

私は2人のテーブルのユーザーと別の教室を持っています。ここLaravelのidでユーザー名を表示する方法は?

public function classroom() 
{ 
    return $this->hasMany('App\classroom'); 
} 

そして、私のclassroom'sモデルは次のとおりです: はここに私のuserモデルです

public function user() 
{ 
    return $this->hasMany('App\User'); 
} 

ユーザーが教室を作成するとき、私は教室のテーブルiduser_idclass_namesectionに格納します。私はすでにブレードページにクラスデータを表示しています。しかし、教室データを作成したユーザー名は表示できません。私viewページで

@foreach($classrooms as $classroom) 
       <li><b>Class code--><i>{{$classroom->class_code}}</i></b></li> 
       <li><b>Subject--><i>{{$classroom->class_name}}</i></b></li> 
       <li><b>Section--><i>{{$classroom->section}}</i></b></li> 
       <li><b>created by--><i> ???? </i></b></li> 
      @endforeach 

マイcontroller

$classrooms=classroomModel::where('id',$id)->get(); 
$posts = Status::where('class_id' , $id)->orderBy('id', 'desc')->get(); 
return view::make('class',compact('posts','classrooms')); 

私は教室でのデータを作成したユーザー名を表示したい場合は、何が正しいコードとはどこで変更する必要がありますでしょうか?お使いのコントローラで

答えて

0

$classrooms=classroomModel::where('id',$id)->with('user')->first(); 

あなたのビューで:

$classrooms->user->name; 
+0

働いていません。 SQLSTATE [42S22]:列が見つからない:1054不明な列 'users.classroom_id' in 'where節'(SQL:select * from 'users'から' users'.classroom_id' in(47)) – Shuvo

+0

whereあなたは教室を作成した人のデータを保存していますか?私があなたを正しく理解していれば、あなたはそれを入手したいと思うようにその情報を保管しませんか? –

+0

私のユーザテーブルに主キーIDがあります。ユーザーIDは私の教室のテーブル名user_idに入れます。今私は私のデータフォームの教室のテーブルを表示します。クラステーブルにはuser_idのみがありますが、名前はありません。名前はユーザーテーブルにあります。だから私はどのように私のビューのページでユーザー名を表示できます。 – Shuvo