2015-09-27 107 views
1

在这里我试图循环所有我的用户与他们的相关任务。我在模型中创建了用户 - >分配关系。当我dd($学生)时,我收到学生的数组及其相关的作业,但是当我在页面上查看时,我没有收到作业循环。我在代码中错过了什么?我确定它是在我搞砸了的HTML中的某个地方。循环对象关系Laravel

用户模型:

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

分配模型:

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

控制器:

$students = User::where('position','student')->with('assignments')->get(); 

HTML:

@foreach($students as $student) 
           <div class="item{{{ $isFirst ? ' active' : '' }}}"> 
            <div class = "deck"> 
            <div class = "row marg"> 
             <div class="col-md-8"> 
              <div class = "stdnt"> 
              <h1>Student Info</h1> 
              <h1>{{$student->name}}</h1> 
              <p>Program: {{$student->pack}}</p> 
              <p>Level: {{$student->level}}</p> 
              <p>Status: {{$student->status}}</p> 
              <p>Lesson: {{$student->lesson}}</p> 
              </div> 
             </div> 
             <div class = "col-md-4"> 
              <div class = "teac"> 
              <h1>Teacher Info</h1> 
              <h1>{{$student->teacher}}</h1> 
               <p>Picture</p> 
               <p>assign form</p> 
               <p>assign button</p> 
              </div> 
             </div> 
            </div> 

            </div> 
            <div class = "mask flow"> 
             <div class = "row-fluid marg"> 
              @foreach($student->assignments() as $assignment) 
               <div class = "ablock"> 
                <h1>{{$assignment->title}}</h1> 
                <p>{{$assignment->created_at}}</p> 
                <p>{{$assignment->type}}</p> 
                <p>{{$assignment->body}}</p> 
               </div> 
              @endforeach 
              </div> 
            </div> 
           {{--*/ $isFirst = false; /*--}} 
          </div> 
          @endforeach 

回答

1

不要调用assignments方法。只需访问它作为属性:

@foreach($student->assignments as $assignment) 
    //      ^^ 
@endforeach 
+0

是的。这工作。这是小事情。多谢约瑟夫。 –